在 useState 中保存的数组中包含的一系列对象中增加键的值 (+1)

Posted

技术标签:

【中文标题】在 useState 中保存的数组中包含的一系列对象中增加键的值 (+1)【英文标题】:Increment a key's value (+1) within a series of objects contained in an array that's held in useState 【发布时间】:2020-09-18 12:00:57 【问题描述】:
const = [items, setItems] = useState([ name: "foo", wait: 1 ,  name: "bar", wait: 5 ])

对于项目中的所有对象,我需要将键的值 wait 增加 1。

这是我目前的尝试......

setItems(items.map(e => [...e, e.wait++]))

我遇到了一些疯狂的错误...我不确定是否应该使用扩展运算符或与我所拥有的类似的东西。

【问题讨论】:

【参考方案1】:

map 应该返回对象而不是数组。

const items = [
   name: "foo", wait: 1 ,
   name: "bar", wait: 5 ,
];

const updated = items.map((item) => ( ...item, wait: item.wait + 1 ));

// setItems(items.map(item => (...item, wait: item.wait + 1)));

console.log(updated);

【讨论】:

以上是关于在 useState 中保存的数组中包含的一系列对象中增加键的值 (+1)的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 NSFontCollection 中包含的字体数组?

从数组中包含的行索引中选择矩阵的列[重复]

如何使用向量中包含的 double[4][4] 数组?

从应用程序中包含的文件加载 android 数组

根据另一个数组中包含的索引有效地求和 4D 数组

如何找到 JavaScript 数组中包含的最大数?