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]

(如有錯誤內容,請在留言給我)