Javascript 替换数组中的多个字符串项

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++) {

我有一个数组显示这个值“135_1,未定义,未定义”

我必须在上面的数组中找到“undefined”,然后用“0_0”替换它。undefined可能在数组中出现多次

我曾经

 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';
}