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

JS实现:将数组对象中指定阈值以上的order属性值减1

简便调整数组对象的order属性

你要的需求可以用两种简洁方式实现,根据是否需要保留原数据选择:

直接修改原数组(最简便)

利用forEach遍历数组,直接修改符合条件的对象属性(因为对象是引用类型,遍历中修改会直接作用于原对象):

const targetValue = 5; // 替换成你的特定值
myArray.forEach(item => {
  if (item.order > targetValue) {
    item.order -= 1;
  }
});

生成新数组(不修改原数据)

如果需要保留原始数组和对象,用map返回新数组,对符合条件的对象做浅拷贝并调整order值:

const targetValue = 5;
const updatedArray = myArray.map(item => 
  item.order > targetValue 
    ? { ...item, order: item.order - 1 } 
    : item
);

关键说明

  • forEach方式无返回值,直接修改原数组,适合不需要保留原始数据的场景,代码量最少。
  • map方式会创建新数组和新对象(仅修改的对象),原数据完全不受影响,适合需要保留原始数据的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:15:51