JavaScript。无法用Object.keys()迭代一个对象来获取new

标签 javascript iterator

我在输入处有一个对象,如何在现有对象的基础上返回修改后的对象?

我将Object.keys()与迭代器map()结合使用来实现此目的。但有些东西不起作用,我不确定。

let objjjj = {
  a: 2,
  b: 3,
  c: 4
}

console.log(
  Object.keys(objjjj).map((key, i) => {
    key: objjjj[key] + 1
  })
)

最佳答案

您需要一些括号将大括号括在 arrow functions 中.

否则,它将被视为 block 语句,其中发生 undefined 的标准返回。

要创建单个对象,您可以将单个对象分散到 Object.assign .

let object = { a: 2, b: 3, c: 4 };
    
console.log(
    Object.assign(...Object.keys(object).map((key, i) => ({ [key]: object[key] + 1 })))
);

当您需要键和值时,您可以采用 Object.entries .

let object = { a: 2, b: 3, c: 4 };
    
console.log(
    Object.assign(...Object.entries(object).map(([k, v]) => ({ [k]: v + 1 })))
);

关于JavaScript。无法用Object.keys()迭代一个对象来获取new,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50822496/

相关文章:

javascript - 无需任何循环/递归即可生成斐波那契数

javascript - 函数需要和不需要的变量

c++ - unordered_map<K, V>::iterator 从何而来?

java - Java 中增强的 for 循环和迭代器

arrays - 通过 ruby​​ 数组成对迭代

javascript - 将 for 循环内容移动到函数中

javascript - 如何在动态设置时(在超时内)使列表项尊重 ul padding-right

javascript - 需要数学方面的帮助才能用 CoffeeScript 或 Javascript 编写振荡迭代器

string - 是否有 String::chars 的自有版本?

javascript - Angular ui 路由器 : keep same ui-view for child