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,退出循环,且以后的语句都再也不执行了。