编辑
好像我忘了提:这个解决方案需要你对数组进行 JSON 编码:var workArr = JSON.stringify(theArr).replace(..)
. 一旦你完成: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'};
并使用匹配的数字作为属性名称。