您的位置:首页 > 其它

移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

2017-09-09 19:31 746 查看
题目要求不改变原数组,所以我们可以声明一个数组a用于保存arr中不同于item的值,最后将a返回。

1.push

function remove(arr, item) {
//声明一个新数组保存结果
var a = [];
//循环遍历
for(var i=0; i < arr.length; i++){
//如果arr[i]不等于item,就加入数组a
if(arr[i] != item){
a.push(arr[i]);
}
}
return a;
}




function remove(arr, item) {
var a=[];
arr.forEach(function(e){
if(e!==item){
a.push(e);
}
})
return a;
}


2.splice

function remove(arr,item){
var a= arr.slice(0);//将arr中的元素赋给a
for(var i=0;i<a.length;i++){
if(a[i] == item){
a.splice(i,1);//删除a中第i个元素
i--;
}
}
return a;
}


3.filter()

function remove(arr,item){
return arr.filter(function(ele){
return ele != item;
})
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐