【问题标题】:using Object.values() method to assign a constant array?使用 Object.values() 方法分配一个常量数组?
【发布时间】:2018-07-10 15:58:06
【问题描述】:

如何使用 Object.values() 方法用 numObj 对象的值填充 const objArray?我只能用 for 循环 + push 方法来做到这一点(如下所示)

const numObj = {
  oddNum: 1,
  evenNum: 2,
  foundNum: 5,
  randomNum: 18
};

const objArray = [];

for (var values in numObj) {
  objArray.push(numObj[values]);
  }

【问题讨论】:

  • Object.values() 返回你想要的数组

标签: javascript arrays constants mutating-function


【解决方案1】:
 objArray.push(...Object.values(numObj));

或者你直接赋值:

const objArray = Object.values(numObj));

【讨论】:

  • 我试过直接分配它:const objArray = Object.values(numObj));,但它给了我一个错误,说 objArray 已经被声明。然而——这行得通! objArray.push(...Object.values(numObj)); 什么是“...”,因为没有它,它是一个数组,其中包含数组 [[1, 2, 5, 18]]
  • @needto 那是传播运算符。如果您采用第二种方法,请删除 const objArray = []
【解决方案2】:

您可以将扩展语法与push 方法一起使用。

const numObj = {
  oddNum: 1,
  evenNum: 2,
  foundNum: 5,
  randomNum: 18
};

const objArray = [];
objArray.push(...Object.values(numObj));
console.log(objArray)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 2017-12-25
    • 2023-01-02
    • 2014-09-10
    • 2021-04-23
    相关资源
    最近更新 更多