0
点赞
收藏
分享

微信扫一扫

Object.entries()

Object.entries()



Object.entries()



作用:将一个对象中可枚举属性的键名和键值按照二维数组的方式返回。

若对象是数组,则会将数组的下标作为键值返回。




Object.entries({ one: 1, two: 2 })    //[['one', 1], ['two', 2]]
Object.entries([1, 2]) //[['0', 1], ['1', 2]]



​entries()​​​返回的数组顺序和​​for​​循环一样,即如果对象的key值是数字,则返回值会对key值进行排序,返回的是排序后的结果


Object.entries({ 3: 'a', 4: 'b', 1: 'c' })    //[['1', 'c'], ['3', 'a'], ['4', 'b']]



利用​​Object.entries()​​​创建一个真正的​​Map​


var obj = { foo: 'bar', baz: 42 };

var map1 = new Map([['foo', 'bar'], ['baz', 42]]); //原本的创建方式
var map2 = new Map(Object.entries(obj)); //等同于map1

console.log(map1);// Map { foo: "bar", baz: 42 }
console.log(map2);// Map { foo: "bar", baz: 42 }



Object.values()


作用:只返回自己的键值对中属性的值。它返回的数组顺序,也跟​​Object.entries()​​保持一致



Object.values({ one: 1, two: 2 })            //[1, 2]
Object.values({ 3: 'a', 4: 'b', 1: 'c' }) //['c', 'a', 'b']


与Object.keys()比较


ES6中的​​Object.keys()​​返回的是键名



var obj = { foo: 'bar', baz: 42 };
console.log(Object.keys(obj)) //["foo", "baz"]
console.log(Object.values(obj)) //["bar", 42]



entries()、values()总结

var obj = { foo: 'bar', baz: 42 };
console.log(Object.keys(obj)) //["foo", "baz"]
console.log(Object.values(obj)) //["bar", 42]
console.log(Object.entries(obj)) //[["foo", "bar"], ["baz", 42]]


举报

相关推荐

0 条评论