删除不同索引处的数组元素

时间:2019-11-03 23:22:54

标签: javascript arrays array-splice

我有一个下面给出的数组:

var box=[1,2,3,4,5] var sum=6;

在if条件下,我检查sum变量是否存在组合,请从数组中删除元素。例如,在上述情况下,它将从阵列中删除6(如果可用),否则它将寻找组合,即(2,4)并将其从阵列中删除。使用box.splice方法,我只能一步删除一个索引。是否有其他方法可以找到组合,只要考虑到它们是两个不同索引处的不相邻元素,就可以一步将两个元素(即(2,4))从数组中删除。

1 个答案:

答案 0 :(得分:0)

您可以使用filter方法来实现。

例如,如果您知道值的索引,则可以执行以下操作:

box = box.filter((num, index) => index !== index1 && index !== index2);

或者是更强大的解决方案:

const combination = [2, 4];

box = box.filter(num => {
    if (combination.includes(num)) {
        // remove first occurence of num from combination
        return false;
    }

    return true;
});