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

JS如何按条件移除数组元素并返回新数组 移除首个最小元素不改变顺序

问题分析

你当前的代码仅通过Math.min(...numbers)提取了数组的最小值,返回值是数值类型,自然无法得到目标数组。

实现方案

要满足需求只需要三步即可:

  1. 优先处理空数组的边界场景,避免后续逻辑报错
  2. 找到数组中最小值第一次出现的索引,满足多个最小值仅移除索引更小的要求
  3. 拆分原数组索引前后的部分拼接为新数组,全程不修改原数组,保留原有元素顺序

完整代码

function removeSmallest(numbers) {
  if (numbers.length === 0) return []
  const minVal = Math.min(...numbers)
  const firstMinIndex = numbers.indexOf(minVal)
  // 用slice拆分拼接不修改原数组
  return numbers.slice(0, firstMinIndex).concat(numbers.slice(firstMinIndex + 1))
}

效果验证

调用测试用例removeSmallest([5, 3, 2, 1, 4, 1]),输出结果为[5, 3, 2, 4, 1],和预期完全一致。

内容的提问来源于stack exchange,提问作者Djordje Djordjevic

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:24:03