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

如何在JavaScript中将数组中的负数替换为0?

如何在JavaScript中将数组中的负数替换为0?

你的代码问题在于直接拿整个数组和0比较——数组与数字比较时会被转换为NaN,NaN和0比较的结果为false,所以代码直接返回了原数组,根本没处理数组里的每个元素。

解决这个问题最简洁的方式是用Array.map()方法,它会遍历数组的每个元素并返回一个新数组,你可以在遍历过程中判断每个元素是否为负数,是的话替换成0:

function noNeg(arr) {
  return arr.map(num => num < 0 ? 0 : num);
}

// 测试示例
console.log(noNeg([1,5,10,-2])); // 输出: [1,5,10,0]

如果想修改原数组而非返回新数组,也可以用for循环遍历处理:

function noNeg(arr) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] < 0) {
      arr[i] = 0;
    }
  }
  return arr;
}

或者用Array.forEach()遍历修改:

function noNeg(arr) {
  arr.forEach((num, index) => {
    if (num < 0) {
      arr[index] = 0;
    }
  });
  return arr;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:40:33