从数组中删除所有“+”

时间:2016-11-22 05:40:47

标签: javascript

我有这样的数组,我想从下面的数组中删除+符号:

var arr = ['+(91)-80-411311015', '+(91)-80-411311456', '+(91)-80-411311016'];

我尝试了以下但是它无效:

var toRemove = "+";
arr = arr.filter(function(el){
    return !toRemove.includes(el);
});

如何从阵列中删除所有+个符号?

5 个答案:

答案 0 :(得分:5)

Array#map会这样做。不需要jQuery

var arr = ['+(91)-80-411311015','+(91)-80-411311456','+(91)-80-411311016'];
arr = arr.map(function(o){
    return o.replace('+','');
});
console.log(arr);

答案 1 :(得分:3)

使用Array#map方法和String#replace方法。其中String#replace可用于替换字符串中的+符号。

var arr = ['+(91)-80-411311015', '+(91)-80-411311456', '+(91)-80-411311016'];

var toRemove = '+'; // use regex `/\+/g` for removing all occurrence

arr = arr.map(function(el) {
  return el.replace(toRemove, '');
});

console.log(arr);

或简单的循环就足够了。

var arr = ['+(91)-80-411311015', '+(91)-80-411311456', '+(91)-80-411311016'];

var toRemove = '+'; // use regex `/\+/g` for removing all occurrence

for (var i = 0; i < arr.length; i++) {
  arr[i] = arr[i].replace(toRemove, '');
}

console.log(arr);

答案 2 :(得分:2)

Array.filter顾名思义,用于根据条件过滤数组。这将返回原始子集但不会更改其中的数据。

您正在寻找的是array.map,并且几乎没有很好的答案。因此,我会添加一些您可以使用的其他变体。

&#13;
&#13;
var arr = ['+(91)-80-411311015','+(91)-80-411311456','+(91)-80-411311016'];

for(var i=0; i<arr.length;i++){
  arr[i] = arr[i].replace('+', '');
}

console.log(arr)
&#13;
&#13;
&#13;

的forEach

&#13;
&#13;
var arr = ['+(91)-80-411311015','+(91)-80-411311456','+(91)-80-411311016'];

arr.forEach((x,i)=>{arr[i] = arr[i].replace('+', '')})

console.log(arr)
&#13;
&#13;
&#13;

地图

&#13;
&#13;
var arr = ['+(91)-80-411311015','+(91)-80-411311456','+(91)-80-411311016'];

arr = arr.map(x=>x.replace('+',''));

console.log(arr)
&#13;
&#13;
&#13;

答案 3 :(得分:1)

如果你想删除每个+,

arr = arr.map((str) => str.split('+').join(''))

答案 4 :(得分:0)

arr = arr.map( function(o) { return o.replace('+','');});