object对象keys(), values() entries() (2/16)

109 阅读1分钟

1、Object.keys()

ES5 引入了Object.keys方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名。

let obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj));   //[a,b,c]

2、Object.values()

ES5 引入了Object.keys方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名。

let obj = { a: 1, b: 2, c: 3 };
console.log(Object.values(obj));   //[1,2,3]

//属性名为数值的属性,是按照数值大小,从小到大遍历的

//如果该方法的参数是一个字符串,返回值为各个字符串组成的一个数组
console.log(Object.values("abc"));   //[ 'a', 'b', 'c' ]

3、Object.entries()

Object.entries方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值对数组。

let obj = { a: 1, b: 2, c: 3 };
console.log(Object.entries(obj));   //[ [ 'a', 1 ], [ 'b', 2 ], [ 'c', 3 ] ]

for (let [x, y] of Object.entries(obj)) {
  console.log(x, y);
}
//  a 1
    b 2
    c 3

Object.entries()实现

let obj = { a: 1, b: 2, c: 3 };
for (let e in obj) {
  console.log(e, obj[e]);
}
//  a 1
    b 2
    c 3