📅  最后修改于: 2023-12-03 14:42:26.162000             🧑  作者: Mango
JavaScript 中的 Object.keys()
函数是一个非常有用的方法,它允许你获取给定对象的所有可枚举属性的名称,并返回这些名称组成的数组。
Object.keys(obj)
参数:
obj
: 需要获取属性名称的对象。返回值:
var obj = {
name: '张三',
age: 18,
gender: '男'
};
var keys = Object.keys(obj);
console.log(keys); // ['name', 'age', 'gender']
Object.keys()
方法只会获取对象自身的属性名称,不会包含继承自原型链的属性名称。Object.keys()
方法将抛出一个 TypeError
异常。Object.getOwnPropertyNames()
方法。Object.keys()
方法非常适合用于遍历对象,尤其是需要比较对象属性的情况。可以通过比较两个对象的属性名称是否相等,来判断它们是否相等。
举个例子,我们可以编写一个比较两个对象是否相等的函数:
function isEqual(obj1, obj2) {
if (Object.keys(obj1).length !== Object.keys(obj2).length) {
return false;
}
for (var prop in obj1) {
if (obj1[prop] !== obj2[prop]) {
return false;
}
}
return true;
}
该函数会先比较两个对象的属性数量是否相等,如果不等说明它们不相等,否则就遍历第一个对象的属性,并比较对应属性值是否相等。如果存在不相等的属性,则说明两个对象不相等,否则它们相等。
Object.keys()
函数是 JavaScript 中一个非常好用的函数,它可以方便地获取对象的属性名称,并支持我们进行属性遍历、比较等操作。需要注意的是,该函数只会返回对象自身的可枚举属性,不包括继承自原型链的属性。