我目前正在學習 Javascript,但找不到答案:為什么 Object.entries(array) 和 array.entries() 回傳不同的結果?
const game = {
team1: 'Bayern Munich',
team2: 'Borrussia Dortmund',
players: [
[
'Neuer',
'Pavard',
'Martinez',
'Alaba',
'Davies',
'Kimmich',
'Goretzka',
'Coman',
'Muller',
'Gnarby',
'Lewandowski',
],
[
'Burki',
'Schulz',
'Hummels',
'Akanji',
'Hakimi',
'Weigl',
'Witsel',
'Hazard',
'Brandt',
'Sancho',
'Gotze',
],
],
score: '4:0',
scored: ['Lewandowski', 'Gnarby', 'Lewandowski', 'Hummels'],
date: 'Nov 9th, 2037',
odds: {
team1: 1.33,
x: 3.25,
team2: 6.5,
},
};
console.log(Object.entries(game.scored)); // return (4) [Array(2), Array(2), Array(2), Array(2)]
console.log(game.scored.entries()); // return Array Iterator {}
如果有人有資源或可以解釋,我將不勝感激!
uj5u.com熱心網友回復:
因為它們是兩個完全不同的功能。
Array.prototype.entries:
回傳一個新的 Array Iterator 物件,該物件包含陣列中每個索引的鍵/值對。
Object.entries:
回傳給定物件自己的可列舉字串鍵屬性 [key, value] 對的陣列。這與使用 for...in 回圈進行迭代相同,只是 for...in 回圈也會列舉原型鏈中的屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494982.html
標籤:javascript 数组 迭代器 内置
