【发布时间】:2021-01-01 13:24:58
【问题描述】:
我正在尝试在以下位置插入新项目。关键是 concat() 可以正常工作,但是当我使用 slice 或 splice 时却不行。甚至不显示任何错误只是显示空白屏幕。
getItems() {
const item2 = {
name: '...',
description: '...',
id: '...',
}
let items = { ...this.items }
return Object.keys(items)
.map(id => ({
...items[id],
id,
}))
.splice(2, 0, item2)
...
}
这是它的样子。为什么 concat 工作正常但不能切片或拼接?如果这些方法不起作用,我该如何以其他方式将该项目推到我想要的位置?
【问题讨论】:
-
splice返回已删除项目的数组,否则会在原地改变数组。 -
是的,我知道,我需要返回修改后的数组。切片也不起作用。只有 concat 有效
-
那么不要像现在这样返回
splice的结果——而是分配给一个变量,拼接,然后返回它。 -
无论如何都行不通
-
只有concat有效,很有趣,
标签: javascript arrays vue.js ecmascript-6 javascript-objects