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

如何在JavaScript中将数组内的所有负数转换为0?

JavaScript负数数组转0实现方案

有多种可落地的实现方式,以下是三种常用方案:

方法1:使用Array.map()生成新数组(推荐)

该方法不会修改原数组,符合不可变数据的最佳实践,代码简洁易读:

const originalArr = [-41.23, -34.23, -0.98576, 12.5, 0];
// 遍历每个元素,小于0则返回0,否则返回原值
const resultArr = originalArr.map(num => num < 0 ? 0 : num);
console.log(resultArr); // 输出:[0, 0, 0, 12.5, 0]

方法2:原地修改原数组

如果不需要保留原始数组,想要节省内存空间,可通过for循环直接修改原数组:

const arr = [-41.23, -34.23, -0.98576, 12.5, 0];
for (let i = 0; i < arr.length; i++) {
  if (arr[i] < 0) {
    arr[i] = 0;
  }
}
console.log(arr); // 输出:[0, 0, 0, 12.5, 0]

方法3:用Math.max()简化判断逻辑

利用Math.max()返回最大值的特性,可以进一步简化判断代码:

const originalArr = [-41.23, -34.23, -0.98576, 12.5, 0];
// 取元素和0的最大值,负数会自动转为0
const resultArr = originalArr.map(num => Math.max(num, 0));
console.log(resultArr); // 输出:[0, 0, 0, 12.5, 0]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:12:02