2011-10-10 5 views
0

文字列を検索して置換しようとしていますが、変数を参照してもそれほど好きではありませんか?それは私がそこに番号をハードコーディング場合は正常に動作しますが、不足しているjqueryで検索して置換する...検索用語の配列に問題がある

を返します。プロパティID

後、私は変数を参照しようとした場合:

var text = "section-1 section_1 section[1]"; 
var cloneCount = 1; 
var cloneUp = 2; 
var array = { 
    "section-"+cloneCount:"section-"+cloneUp, 
    "section_"+cloneCount:"section_"+cloneUp, 
    "section\\["+cloneCount:"section\["+cloneUp 
}; 

for (var val in array) { 
    text = text.replace(new RegExp(val, "gi"), array[val]); 
    alert(text); 
} 

ここで誰かが助けることができる願って?

答えて

1

arrayarray初期化が正しくないため、構文エラーが発生します。あなたはこれをしたい:

var array = { }; 
array["section-" + cloneCount] = "section-" + cloneUp; 
array["section_" + cloneCount] = "section_" + cloneUp; 
array["section\\[" + cloneCount] = "section\[" + cloneUp; 

あなたが鍵を構築するために式を使用する必要があるならば、あなたはo[...] = ...構文を使用する必要があり、オブジェクトリテラルでキーとして式を使用することはできません。

デモ:命名こと(そして壊れスペースバー:http://jsfiddle.net/ambiguous/cDthk/

+1

1が、ちょうど明確にする 'array'は –

+0

@Andrew(私はOPを知っている:)せ、あなたが知っている知っている)の配列ではありません)私も少し私を投げたが、私は専門用語の戦争( "連想配列"はPHPから来る人にはかなり一般的)に入りたいとは思わなかった。 –

+0

(1)私を見せてくれてありがとう、(2)とてもうまく説明してくれてありがとう...たくさんありがとう! –

関連する問題