需要仅重置Javascript数组的索引

Adn*_*ala 7 javascript arrays indexing indexof

我有一个返回数组的for循环:return

1st loop:
arr[0]
arr[1]
arr[2]
arr[3]
Run Code Online (Sandbox Code Playgroud)

返回

2nd loop
arr[4]
arr[5]
arr[6]
arr[7] 
arr[8] 
Run Code Online (Sandbox Code Playgroud)

我得到的长度是9.返回

我想要的是索引的实际数量,即我需要它为5.我怎么能这样做...当有一种方法,当我每次进入每个循环时,它从0开始,以便我得到所有的适当长度循环?

Dag*_*sen 32

这很容易使用Array.filter本地完成:

resetArr = orgArr.filter(function(){return true;});
Run Code Online (Sandbox Code Playgroud)

  • 工作对我来说很完美! (2认同)
  • 较短的版本:resetArr = orgArr.filter(Boolean); (2认同)

dan*_*dle 4

您可以将数组中的所有元素复制到索引从零开始的新数组中。

例如

function startFromZero(arr) {
    var newArr = [];
    var count = 0;

    for (var i in arr) {
        newArr[count++] = arr[i];
    }

    return newArr;
}

// messed up array
x = [];
x[3] = 'a';
x[4] = 'b';
x[5] = 'c';

// everything is reordered starting at zero
x = startFromZero(x);
Run Code Online (Sandbox Code Playgroud)