我有这样的数组,我想从下面的数组中删除+
符号:
var arr = ['+(91)-80-411311015', '+(91)-80-411311456', '+(91)-80-411311016'];
我尝试了以下但是它无效:
var toRemove = "+";
arr = arr.filter(function(el){
return !toRemove.includes(el);
});
如何从阵列中删除所有+
个符号?
答案 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
,并且几乎没有很好的答案。因此,我会添加一些您可以使用的其他变体。
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;
var arr = ['+(91)-80-411311015','+(91)-80-411311456','+(91)-80-411311016'];
arr.forEach((x,i)=>{arr[i] = arr[i].replace('+', '')})
console.log(arr)
&#13;
var arr = ['+(91)-80-411311015','+(91)-80-411311456','+(91)-80-411311016'];
arr = arr.map(x=>x.replace('+',''));
console.log(arr)
&#13;
答案 3 :(得分:1)
如果你想删除每个+,
arr = arr.map((str) => str.split('+').join(''))
答案 4 :(得分:0)
arr = arr.map( function(o) { return o.replace('+','');});