Object.entires() and Array.entries()
Object.entire()有點像是for … in 的方式,可以遍歷所有的key, value值。對於array而言,該方式並不會產生新的array,但是物件內容則是會動到。若是兩物件的key相同,則會取代裡面的value,成為一新的物件。若是不同的話,則會推入到另一個物件裡面,範例如下:
//Object範例-- key相同的時候
const sample1 = {
a: 'test',
b: 123
}
const sample2 = {
a: 123,
b: 'test'
}
for (const [key, value] of Object.entries(sample1)) {
sample2[key] = value
}
consolo.log(sample2)
//sample2 = {a: 'test', b" 123}
//Object範例-- key不相同的時候
const sample1 = {
a: 'test',
b: 123
}
const sample2 = {
c: 123,
d: 'test'
}
for (const [key, value] of Object.entries(sample1)) {
sample2[key] = value
}
consolo.log(sample2)
//sample2 = { c: 123, d: 'test', a: 'test', b: 123 }
對於矩陣上,使用entries()則會產生遍歷後的[key, value]物件。因此要用另一個新的物件去接住。
//Array範例
let sample1 ={}
let sample2 = [4, 5, 6, 7, 8]
//note Object.entries()對陣列產生出來的為object
for (let [key,value] of sample2.entries()) {
sample1[key] = value
}
console.log(sample1)
console.log(sample2)
//Ouput: sample1 = { '0': 4, '1': 5, '2': 6, '3': 7, '4': 8 }
//Output: sample2 = [4, 5, 6, 7, 8]
(如有錯誤內容,請在留言給我)