js 操作對象的小技巧


來源:https://www.w3cplus.com/javascript/javascript-tips.html

1、使用...運算符合並對象或數組中的對象

同樣使用ES的...運算符可以替代人工操作,合並對象或者合並數組中的對象。

// 合並對象 
const obj1 = { name: '大漠', url: 'w3cplus.com' } 
const obj2 = { name: 'airen', age: 30 } 
const mergingObj = {...obj1, ...obj2} 
> Result: {name: "airen", url: "w3cplus.com", age: 30}
 // 合並數組中的對象 
const array = [ 
{ name: '大漠', email: 'w3cplus@gmail.com' },
 { name: 'Airen', email: 'airen@gmail.com' } 
]
 const result = array.reduce((accumulator, item) => { 
return { ...accumulator, [item.name]: item.email } 
}, {}) 
> Result: {大漠: "w3cplus@gmail.com", Airen: "airen@gmail.com"}

2、有條件的添加對象屬性

不再需要根據一個條件創建兩個不同的對象,以使它具有特定的屬性。為此,使用...操作符是最簡單的。

const getUser = (emailIncluded) => { 
return { 
name: '大漠', blog: 'w3cplus', ...emailIncluded && {email: 'w3cplus@hotmail.com'}
 } 
} 
const user = getUser(true)
 console.log(user) 
> Result: {name: "大漠", blog: "w3cplus", email: "w3cplus@hotmail.com"} 
const userWithoutEmail = getUser(false) 
console.log(userWithoutEmail) 
> Result: {name: "大漠", blog: "w3cplus"}

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM