如何正确地将数组中的所有元素替换为其位置



所以,我一直对此感到困惑,并试图在这里搜索是否有人已经问过这个问题。。我很确定有人曾经找到过,但我没能找到,因为我真的不知道如何正确地用词。所以,如果这个(很可能是非常简单的问题(已经在某个地方得到了回答,请原谅。我仍然试图在这里指定我的问题,所以再次,如果这是重复的,很抱歉。好的,假设我们有以下自然数子集的数组:

var someNumbers = [0, 1, 2, 3, 4];

或者基本上是任何一个自然数子集的数组。现在,假设我出于某种原因修改了这个数组,并且必须从该数组中删除一个元素,所以我得到了一个新的数组,比如这个:

someNumbers = [0, 1, 3, 4];

这个数组现在缺少一个元素2,因此数组不再是自然数的子集。我现在想要的是,我基本上想用它的位置替换这个新数组中的每个元素,所以我们会再次得到这样的数组:

someNumbers = [0, 1, 2, 3];

为了完成这项简单的任务,我已经尝试了很多次,但仍然不知道如何正确地完成。在一个例子中,我试图通过for循环迭代数组,并通过将当前元素作为值与迭代器进行比较来替换每个元素,并用迭代器的当前值替换该元素,只是为了让它在I=2时失败,因为元素";2〃;已删除。

在循环中添加一个比较(将考虑丢失的元素(并减去1确实有帮助,但如果假设我删除了元素0,则会失败。此外,我甚至不确定我的任何尝试是否真的有效,并且无法更有效地完成。

我只是可能想得太多了,这比我想象的要容易得多。

TL;DR:我基本上想知道如何用阵列中的每个元素的位置来替换它,以及如何有效地进行替换。

您可以使用array.map函数在数组上map。第二个参数将为您提供当前迭代的索引。您可以使用它在数组上仅设置map,将值设置为等于其index。下面是如何使用地图的示例。

const someNumbers = [0, 1, 2, 3, 4];
someNumbers.map((ele, index) => {
console.log(`current index is ${index}`);
console.log(`current value is ${ele}`);
});

最新更新