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,退出循环,且之后的语句都不再执行了。
原文地址:https://www.cnblogs.com/chenbeibei520/p/9861140.html