本人github
Object.keys()
是一个JavaScript内置函数,用于返回一个由对象自身的(不包括原型链上的)所有可枚举属性组成的数组。数组中属性名的排列顺序与通过手动循环对象属性时的顺序一致。
语法
Object.keys(obj)
obj
:要返回其自身所有可枚举属性的对象。
返回值
一个表示给定对象自身所有可枚举属性的字符串数组。
示例
基础用法
const obj = {
a: 1, b: 2, c: 3 };
const keys = Object.keys(obj);
console.log(keys); // 输出:['a', 'b', 'c']
非对象参数
如果参数不是一个对象,Object.keys()
会将其转换为对象。
// 数组
console.log(Object.keys([1, 2, 3])); // 输出:['0', '1', '2']
// 字符串
console.log(Object.keys('foo')); // 输出:['0', '1', '2']
// 数值
console.log(Object.keys(101)); // 输出:[]
// 布尔值
console.log(Object.keys(true)); // 输出:[]
遍历对象属性
你可以使用 Object.keys()
与 forEach()
结合,遍历对象的所有可枚举属性。
const obj = {
a: 1, b: 2, c: 3 };
Object.keys(obj).forEach(key => {
console.log(`Key: ${
key}, Value: ${
obj[key]}`);
});
// 输出:
// Key: a, Value: 1
// Key: b, Value: 2
// Key: c, Value: 3
注意事项
Object.keys()
只返回对象自身的可枚举属性,不包括原型链上的属性。- 属性的顺序与通过手动循环对象属性时的顺序一致。
这个方法在处理对象和与对象相关的操作时非常有用。