gpt4 book ai didi

javascript - 如何使用索引动态更新javascript中的数组?

转载 作者:行者123 更新时间:2023-12-04 23:11:57 24 4
gpt4 key购买 nike

让我们考虑一个数组:

var a = ["one", "two", "three"];

现在,要更新我必须做的数组:
a[0] = "1";
a[1] = "2";
a[2] = "3";

但是如果数组更大,我不能重复这个。我想要一个函数,借助它,我可以这样做:
a.update(0, "1", 2, "3", 3, "4"); // => ["1", "two", "3", "4"]

是的,你看到我在这个帮助下添加了第四个属性,而第一个和第三个属性得到了更新?那么,这个可以制作吗?或者有更好的方法来执行上述任务?

提前致谢

最佳答案

您可以递归地执行此操作,使用解构和其余语法在每次迭代时获取索引和项目:

const a = ["one", "two", "three"];

const update = (arr, idx, itm, ...rest) => {
arr[idx] = itm;
if(rest.length)
update(arr, ...rest);
}

update(a, 0, "1", 2, "3", 3, "4")
console.log(a);


或者,您可以使用 for循环,一次跳过 2 个索引:

const a = ["one", "two", "three"];

const update = (arr, ...rest) => {
for(let i = 0; i < rest.length; i+=2) {
const idx = rest[i];
const itm = rest[i+1];
arr[idx] = itm;
}
}

update(a, 0, "1", 2, "3", 3, "4")
console.log(a);

关于javascript - 如何使用索引动态更新javascript中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58567717/

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