【发布时间】:2021-03-15 17:51:09
【问题描述】:
我想做一件事,但我有两个选择
- 从数组中删除特定项/索引,然后在同一索引中插入一个新项/索引。
- 不要删除该项目,而是使用新数据对其进行编辑。
我有这段代码:
const handleClick = () => {
for (let i = 0; i < qs.length; i++) {
if (qs[i].id === getNewQ.id) {
const qsCopy = [...qs].filter((q) => q.id !== getNewQ.id);
return [...qsCopy, { ...newGroup }];
}
}
return [...qs];
};
它从数组中删除项目,但是当它添加新项目时,它会将它添加到最后一个索引。但我需要的是,将这个新项目添加到删除另一个项目的索引中。
清楚吗?
我创建了一个可重现的示例:https://codesandbox.io/s/pedantic-darwin-4tty0?file=/src/App.tsx:912-1171
在示例中,您会注意到新项目是如何添加到最后一个索引的。它需要尽可能通用,因为它是动态的。并非所有时间都是相同的索引。
【问题讨论】:
标签: javascript arrays reactjs typescript ecmascript-6