gpt4 book ai didi

javascript - 添加/删除类似数组的对象中的元素

转载 作者:行者123 更新时间:2023-12-03 05:59:08 27 4
gpt4 key购买 nike

我有一个类似数组的对象:

[1:数组[10]、2:数组[2]、3:数组[2]、4:数组[2]、5:数组[3]、6:数组[1]]

我正在尝试删除前两个元素,执行一些操作,然后将它们再次插入到同一位置。

这就是我所做的:

array = Array.prototype.splice.call(array, 0,2);

在 Firefox 中记录 array 时,它显示:

Array [ <2 empty slots>, Array[1], Array[2], Array[3], Array[1] ]

对我来说看起来不错,我删除了前两个元素,数组现在以 2 个空槽开始。

现在,我希望做的就是将对象添加到这 2 个空槽中。

为了简单起见,让我们从数组中删除项目,然后将它们再次插入到同一位置:

var twoFirstItems = Array.prototype.slice.call(array, 0,2);
array = Array.prototype.splice.call(array, 0,2);

现在,要重新插入 twoFirstItems 我认为我可以这样做:

array.unshift(twoFirstItems)

这没有按预期工作,它插入了数组,但它没有修改之前的key。我认为这与 unshift类数组对象 的工作方式与 数组 的工作方式不同有关。

那么如何正确地向类似数组的对象删除/插入元素呢?

如果我执行以下操作:

  console.log(array);
console.log(typeof array);

结果:

Array [ <1 empty slot>, Array[2], Array[2], Array[2], Array[3], Array[1] ]
object

最佳答案

没有任何复杂性,您只需在该索引处重新分配修改后的数组即可。

var a = [
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6]

]

a[0] = a[0].map((el) => el * 10)
a[1] = a[1].map((el) => el * 20)

console.log(a)

关于javascript - 添加/删除类似数组的对象中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39818227/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com