js实现往数组中添加非存在的对象,如果存在就改变键值。
let arr = [] // 数组中元素数据类型为{name: 'bb', age: 12} // 现在需求是,将每次获得的新对象{name: '', age: }push到数组arr中,但前提是数组中没有name值一样的对象,如果数组中存在name值一样的对象,则替换age值。 // 下面是代码实现 for (let i = 0; i < arr.length; i += 1) { if (arr[i].name === newObj.name) { arr[i].age = newObj.age return } } arr.push(newObj) // 以上代码对各种情况都做了处理 // 1,首先如果arr数组是空,则for循环不执行,直接执行往数组中push操作 // 2,若arr数组不为空,则循环执行内部的if语句,若直到循环结束if语句条件都不成立,则循环结束,执行push操作。如果循环过程中if语句条件成立,则执行if内部语句,改变相同name的age值后,遇到return,退出循环,且之后的语句都不再执行了。