Javascript 替换数组中的多个字符串项
我有一个数组显示这个值“135_1,未定义,未定义” 我必须在上面的数组中找到“undefined”,然后用“0_0”替换它。undefined可能在数组中出现多次 我曾经Javascript 替换数组中的多个字符串项,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个数组显示这个值“135_1,未定义,未定义” 我必须在上面的数组中找到“undefined”,然后用“0_0”替换它。undefined可能在数组中出现多次 我曾经 var extra = myVariable.replace("undefined", "0_0"); alert(extra); 但是我必须使用它三次,这样每次它都可以搜索一个并替换它 我也用过这个:: for (var i = 0; i < myVariable.length; i++) {
var extra = myVariable.replace("undefined", "0_0");
alert(extra);
但是我必须使用它三次,这样每次它都可以搜索一个并替换它
我也用过这个::
for (var i = 0; i < myVariable.length; i++) {
alert(myVariable[i]);
myVariable[i] = myVariable[i].replace(/undefined/g, '0_0');
}
alert(myVariable);
for(变量i=0;i
但是它并没有解决我的问题。
String.prototype.replace
是一种字符串可以访问的方法<代码>未定义不是字符串
这可能对你有帮助
for (var i=0, len=arr.length; i<len; i++) {
if (arr[i] === undefined) {
arr[i] = "0_0";
}
}
alert(JSON.stringify(arr));
由于问题已标记为,您可以使用:
这将返回一个新数组,其中(在您的情况下)由空字符串或未定义的
组成的每个项将替换为'0\u 0'
,或者使用arr.map()。@scimonester,谢谢,我刚刚编写了一个.map
示例。在将其作为替代方案提供之前,我必须检查哪个版本的IE支持它。
var arr = ['135_1',undefined,undefined];
while(arr.indexOf(undefined) != -1) {
pos=arr.indexOf(undefined);
arr[pos]='0_0';
}
var extra = $.map(myVariable, function(item) {
return item || '0_0';
}
var arr = ['135_1',undefined,undefined];
while(arr.indexOf(undefined) != -1) {
pos=arr.indexOf(undefined);
arr[pos]='0_0';
}