【发布时间】:2020-04-06 01:34:15
【问题描述】:
我正在尝试为已删除对象更新一组对象中的一个值 is_deleted。
const handleDelete = (idx) => {
const filteredCards = cards.map((card, i) => {
if(i == idx) {
card.is_deleted = true;
return {...cards}
}
})
setCards(filteredCards);
}
输出
cards = [
undefined,
[
{ id: 1, is_deleted: false },
{ id: 2, is_deleted: true },
]
]
期望的输出
cards = [
{ id: 1, is_deleted: false },
{ id: 2, is_deleted: true },
]
输出部分正确 - 在索引 1 我看到两张卡片,第二张 is_deleted 设置为 true。但是,在索引 0 处有一个“未定义”。
任何关于为什么会这样的见解都会有所帮助!谢谢,如果我错过了关键信息,请告诉我。
【问题讨论】:
-
你能在函数前显示你的卡片数组吗?
-
输出的语法不正确
标签: javascript arrays ecmascript-6 javascript-objects array.prototype.map