Object.entries和Object.values

如果一个对象是具有键值对的数据结构,则每一个键值对都会编译成一个具有两个元素的数组,这些数组最终会放到一个数组中,返回一个二维数组。若目标对象是数组,则数组的下标作为键返回。

Object.entries({'id': 1,'name': 'neal_caffreal'}) // [['id',1],['name','neal_caffreal']]
Object.entries([1,2]) // [['0',1],['1',2]]]
Object.entries({ [Symbol()]: 1, two: 2 })       //[['two', 2]]

使用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

Object.values()

它的工作原理跟Object.entries()很像,顾名思义,它只返回自己的键值对中属性的值。它返回的数组顺序,也跟Object.entries()保持一致。

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

猜你喜欢

转载自blog.csdn.net/weixin_42265852/article/details/88706675
今日推荐