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
相关产品推荐
相关产品推荐

