You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从数组中移除所有指定值元素?Odin项目测试求解

解决移除数组中所有指定值元素的问题

针对你需要通过的这个测试,这里提供两种贴合需求的实现方式:

方法1:用Array.filter()(最简洁的数组方法)

filter() 方法会创建新数组,只保留通过测试条件的元素。我们只需要判断元素是否不等于目标值,就能自动过滤掉所有指定元素:

function removeFromArray(arr, value) {
  return arr.filter(item => item !== value);
}

传入测试用例 [1,2,2,3] 和 2 时,filter 会跳过所有等于2的元素,最终返回 [1,3],完美匹配测试预期。

方法2:用for循环(适合理解底层逻辑)

如果想练习for循环的写法,可以手动遍历数组并收集符合条件的元素:

function removeFromArray(arr, value) {
  const newArr = [];
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] !== value) {
      newArr.push(arr[i]);
    }
  }
  return newArr;
}

思路很直接:新建一个空数组,遍历原数组的每个元素,只要元素不等于目标值,就把它加入新数组,最后返回这个新数组即可。

另外要区分开,你提到的Set去重是用来移除数组中重复的元素(比如把[1,2,2,3]变成[1,2,3]),但这次需求是移除所有指定值的元素,所以上面两种方法更贴合当前测试场景。

内容的提问来源于stack exchange,提问作者Simon Andrews

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 04:05:55