如何迭代 Js 物件

使用 for…in

方法格式如下

1
2
for (變數 in 物件) {...
}

下方為 Sample Code

1
2
3
4
5
6
7
let model = {
item: '1',
};

for (let filed in model) {
console.log(model[filed]);
}

使用 Object.keys()

方法格式如下

1
Object.keys(物件);

下方為 Sample Code

1
2
3
4
5
6
7
8
9
10
11
12
let model = {
item: '1',
};

let keys = Object.keys(model);

let length = keys.length;

for (let i = 0; i <= length; i++) {
let key = keys[i];
console.log(model[key]);
}

差異

Object.keys 與 for…in 不同之處

1
for-in 迴圈還會迭代出物件自其原型鏈所繼承來的可列舉屬性

📜 參考資料

  1. MDN Object keys