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,退出循環,且之后的語句都不再執行了。
