編集
私が言及するのを忘れてしまったようだ:var workArr = JSON.stringify(theArr).replace(..)
:このソリューションは、配列をコード化するJSONする必要があります。 theArr = JSON.parse(workArr);
が
私はどちらかであるとまで来ることができ、最速のものは、この操作を行います:そして、あなたが完了したら
var str = '[["1", "apple 1"], ["1", "pear 2"], ["2", "lemon 1"], ["12", "lemon 12"]]'.replace(/(\[")12/g,'$1twelve').replace(/(\[")2/g,'$1two').replace(/(\[")1/g,'$one');
をしかし、漁獲量のカップルがここにあります:あなたは交換してきた後replace(/(\[")12/g,'$1twelve')
を書く場合もの、それは動作しません。これを回避するには、次のようにします。
str = '[["1", "apple 1"], ["1", "pear 2"], ["2", "lemon 1"], ["12", "lemon 12"]]'.replace(/(\[")12"/g,'$1twelve"').replace(/(\[")2"/g,'$1two"').replace(/(\[")1"/g,'$one"');
閉じる引用符を追加する。ただし、より洗練されたソリューションは、オブジェクトを作成することです。
var replace = {'1':'one','2':'two','12':'twelve'};
そして、一致する番号をプロパティ名として使用します。
IE9より前のInternet ExplorerではforEachがサポートされていないので、注意してください。 – Bill
ありがとう、@ Bill。また、[es5-shim](https://github.com/kriskowal/es5-shim)を使用してレガシーブラウザをサポートすることもできます。 – katspaugh
8kbのコードはforループよりもforEachループの方が好きですから?それはかなり極端なようです... – Bill