在数组上循环时从数组中切片元素的Typescript方法

时间:2018-07-10 12:57:24

标签: javascript arrays typescript

在遍历所有元素的同时从数组中切片元素的打字稿方式是什么?显然,我要考虑到数组在每个接头处都重新索引。

this post中所述,执行此操作的javascript方法为:

var i = array.length
while (i--) {
    ...
    if (...) { 
        array.splice(i, 1);
    } 
}

不幸的是,打字稿for (let item of array) {}从0循环到array.length-1,而不是像上面的js函数那样以相反的方式循环。在此循环中拼接元素会导致跳过一项。

1 个答案:

答案 0 :(得分:2)

根据我的回答,您需要过滤数组:

const filteredArray = array.filter(element => {
    if (yourConditionIsTrue) { // if this element should be in the filteredArray
        return true;
    } else {
        return false
    }
});

可以一行完成:

const filteredArray = array.filter(element => conditionIsTrue);

这样,您的数组将保持不变,并且仅包含所需元素即可获得一个新数组(filteredArray),但不会弄乱正在迭代的数组。