es6 遍历数组对象获取所有的id_ES6对象遍历Object.keys()方法
【Object.keys()】
ES5 引入了Object.keys()方法,返回一個數(shù)組,成員是參數(shù)對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵名var obj = { foo: 'bar', baz: 42 };
console.log(Object.keys(obj));// ["foo", "baz"]
ES2017 引入了跟Object.keys配套的Object.values和Object.entries,作為遍歷一個對象的補充手段,供for...of循環(huán)使用let {keys, values, entries} = Object;
let obj = { a: 1, b: 2, c: 3 };
for (let key of keys(obj)) {
console.log(key); // 'a', 'b', 'c'
}
for (let value of values(obj)) {
console.log(value); // 1, 2, 3
}
for (let [key, value] of entries(obj)) {
console.log([key, value]); // ['a', 1], ['b', 2], ['c', 3]
}
【Object.values()】
Object.values()方法返回一個數(shù)組,成員是參數(shù)對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值
var obj = { foo: 'bar', baz: 42 };
console.log(Object.values(obj));// ["bar", 42]
Object.values()只返回對象自身的可遍歷屬性var obj = Object.create({}, {p: {value: 42}});
console.log(Object.values(obj)); // []
上面代碼中,Object.create()方法的第二個參數(shù)添加的對象屬性(屬性p),如果不顯式聲明,默認是不可遍歷的,因為p的屬性描述對象的enumerable默認是false,Object.values()不會返回這個屬性。只要把enumerable改成true,Object.values就會返回屬性p的值var obj = Object.create({}, {p:
{
value: 42,
enumerable: true
}
});
console.log(Object.values(obj)); // [42]
【Object.entries()】
Object.entries()方法返回一個數(shù)組,成員是參數(shù)對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值對數(shù)組var obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj));// [ ["foo", "bar"], ["baz", 42] ]
除了返回值不一樣,該方法的行為與Object.values基本一致
Object.entries()的基本用途是遍歷對象的屬性let obj = { one: 1, two: 2 };
for (let [k, v] of Object.entries(obj)) {
console.log(
`${JSON.stringify(k)}: ${JSON.stringify(v)}`
);
}
// "one": 1
// "two": 2
總結(jié)
以上是生活随笔為你收集整理的es6 遍历数组对象获取所有的id_ES6对象遍历Object.keys()方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 家用无线路由器设置为WIFI交换机教程如
- 下一篇: 投资最重要的事读后感_《投资最重要的事》