Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确替换数组中的所有元素及其位置?_Javascript_Arrays - Fatal编程技术网

Javascript 如何正确替换数组中的所有元素及其位置?

Javascript 如何正确替换数组中的所有元素及其位置?,javascript,arrays,Javascript,Arrays,所以,我一直在为这个问题绞尽脑汁,并试图在这里搜索是否有人已经问过这个问题。。我很肯定有人在某一点上说了,但我没能找到它,因为我真的不知道如何正确地表达它。所以,如果这个(很可能是非常简单的问题)已经在某个地方得到了回答,请原谅。我仍然试图在这里说明我的问题,因此,如果这是重复的,请再次道歉。 好的,假设我们有以下自然数子集的数组: var someNumbers = [0, 1, 2, 3, 4]; 或者基本上是自然数子集的任何数组。现在,假设我出于某种原因修改了这个数组,并且必须从该数组中

所以,我一直在为这个问题绞尽脑汁,并试图在这里搜索是否有人已经问过这个问题。。我很肯定有人在某一点上说了,但我没能找到它,因为我真的不知道如何正确地表达它。所以,如果这个(很可能是非常简单的问题)已经在某个地方得到了回答,请原谅。我仍然试图在这里说明我的问题,因此,如果这是重复的,请再次道歉。 好的,假设我们有以下自然数子集的数组:

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:我基本上想知道如何用数组中的每个元素替换其位置,以及如何有效地进行替换。

您可以使用该函数在数组上映射。第二个参数将为您提供当前迭代的索引。您可以使用此选项将值设置为等于其
索引的值,从而将
映射到数组上。下面是如何使用地图的示例

const someNumbers=[0,1,2,3,4];
一些数字。映射((元素,索引)=>{
log(`当前索引是${index}`);
log(`当前值为${ele}`);

});我不明白。如果你想要
[0,1,2,3]
,那么就做
一些数字.map((u,i)=>i)
??这应该不会很棘手,我理解正确,您想要一个包含元素的数组
[0,…,someNumbers.length-1]
?像这样的简单映射任务怎么样。。。其中返回当前索引作为新项/值?