首页 > 试题广场 >

移除数组中的元素

[编程题]移除数组中的元素
  • 热度指数:176883 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

输入描述:
[1, 2, 3, 4, 2], 2


输出描述:
[1, 3, 4]
示例1

输入

[1, 2, 3, 4, 2], 2

输出

[1, 3, 4]
推荐
题目要求不改变原数组,所以我们可以声明一个数组a用于保存arr中不同于item的值,最后将a返回。
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;
 }

编辑于 2015-11-14 13:59:27 回复(29)
return arr.filter(v=>v!==item)
发表于 2023-06-26 17:14:34 回复(0)
function remove(arr, item) {
    return arr.reduce(function(sum, cur) {
        return cur === item ? sum : [...sum, cur]
    }, [])
}

发表于 2023-05-05 15:25:35 回复(0)
// 随便写写
function remove(arr, item) {
  return arr.reduce((acc, cur) => {
    cur !== item && (acc = acc.concat(cur));
    return acc;
  }, []);
}

发表于 2023-04-08 00:22:02 回复(0)
function remove(arr, item) {
arr.forEach((i,x)=>{  if(i==item) arr.splice(x,1)
}) return arr
}
remove([1, 2, 2, 3, 4, 2, 2], 2

这样删不完呢
发表于 2023-04-06 15:14:14 回复(0)
function remove(arr, item) {
    let newArr = [];
    arr.forEach(function(i){
        if(i != item){
            newArr.push(i)
        }
    })
    return newArr
}

发表于 2023-02-09 19:25:02 回复(0)
function remove(arr, item) {
   let arr1 = arr.filter(v=>v!==item)
   return arr1
}


发表于 2023-02-04 14:25:23 回复(1)
直接使用filter过滤就可以的
function remove(arr, item) {
    let newArr = arr.filter(val => val != item)
    return newArr
}

发表于 2023-01-03 17:08:22 回复(0)
function remove(arr, item) {
    var num = []
for(let str in arr){
    if(arr[str] != item){
        num.push(arr[str])
    }
   
} return num
}

发表于 2022-11-08 22:06:48 回复(0)
function remove(arr, item) {
    let newArr = arr.filter(items => {
        return items !== item;
    })
    return newArr;
}
发表于 2022-10-10 22:02:05 回复(0)
function remove(arr, item) {
    return arr.filter((e)=>e!==item)
}
发表于 2022-10-05 21:28:01 回复(0)
//fliter感觉最简捷,不过有点慢了
function remove(arr, item) {
return arr.filter(i=>i!==item)
}
发表于 2022-09-30 00:26:47 回复(0)
function remove(arr, item) {
    return arr.filter(x => x != item);
}


发表于 2022-09-01 16:47:39 回复(0)
function remove(arr, item) {
    let newArr = []
    arr.forEach(x=>{
        if(x!==item){
            newArr.push(x)
        }
    })
    return newArr
}

发表于 2022-08-31 11:47:53 回复(0)
     function remove(arr, item) {
            var newArr = [];
            for (var i = 0; i < arr.length; i++) {
                // console.log(arr[i]);
                if (arr[i] != item) {
                    newArr.push(arr[i])

                }
            } return newArr;
        }
        console.log(remove([1, 2, 3, 4, 2], 2));
发表于 2022-08-26 22:42:30 回复(0)
function remove(arr, item) {
    return arr.filter(value => {
        return value !== item
    })
}
发表于 2022-08-21 15:18:18 回复(0)
function remove(arr, item) {
    var newArr = new Array();
    for(var i = 0 ; i< arr.length; i++){
        if(arr[i] != item){
            //数组追加元素
            newArr.push( arr[i]);
        }
    }
    return newArr;
    
}

发表于 2022-08-07 00:15:14 回复(0)
function remove(arr, item) {
    var res = [];
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] != item) {
            res.push(arr[i]);
        } else {
            continue
        }
    }
    return res;

}

发表于 2022-07-11 20:14:20 回复(0)
直接return [1,3,4]
发表于 2022-06-30 21:40:18 回复(0)