📅  最后修改于: 2023-12-03 15:16:59.036000             🧑  作者: Mango
在 Javascript 中,对象是基本类型之一,经常需要遍历对象的属性以获取或修改属性的值。
本文将介绍几种遍历对象的方法。
for...in
循环for...in
循环是最基本的遍历对象的方法。它可以遍历对象的非继承属性,但不能保证顺序。
let obj = {
name: "John",
age: 30,
city: "New York"
};
for(let key in obj) {
console.log(key + ": " + obj[key]);
}
输出:
name: John
age: 30
city: New York
Object.keys()
方法Object.keys()
方法返回一个包含对象非继承属性名称的数组。可以使用 Array.forEach()
方法来遍历这个数组。
let obj = {
name: "John",
age: 30,
city: "New York"
};
let keys = Object.keys(obj);
keys.forEach(function(key) {
console.log(key + ": " + obj[key]);
});
输出:
name: John
age: 30
city: New York
Object.values()
方法Object.values()
方法返回一个包含对象非继承属性值的数组。可以使用 Array.forEach()
方法来遍历这个数组。
let obj = {
name: "John",
age: 30,
city: "New York"
};
let values = Object.values(obj);
values.forEach(function(value) {
console.log(value);
});
输出:
John
30
New York
Object.entries()
方法Object.entries()
方法返回一个包含对象非继承属性名称和值的数组。可以使用 Array.forEach()
方法来遍历这个数组。
let obj = {
name: "John",
age: 30,
city: "New York"
};
let entries = Object.entries(obj);
entries.forEach(function(entry) {
console.log(entry[0] + ": " + entry[1]);
});
输出:
name: John
age: 30
city: New York
Object.getOwnPropertyNames()
方法Object.getOwnPropertyNames()
方法返回一个包含对象所有属性名称的数组,包括不可枚举的属性。可以使用 Array.forEach()
方法来遍历这个数组。
let obj = {
name: "John",
age: 30,
city: "New York"
};
let names = Object.getOwnPropertyNames(obj);
names.forEach(function(name) {
console.log(name + ": " + obj[name]);
});
输出:
name: John
age: 30
city: New York
以上是几种常见的遍历对象的方法。
对于需要遍历继承属性的场合,可以使用 for...in
循环和 Object.getOwnPropertyNames()
方法的结合。