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

Javascript 删除不同索引处的数组元素,javascript,arrays,array-splice,Javascript,Arrays,Array Splice,我有一个数组,如下所示: var框=[1,2,3,4,5] var总和=6 在if条件下,我检查sum变量是否有可用的组合,从数组中删除元素。例如,在上述情况下,如果可用,它将从阵列中删除6,否则它将查找组合,即(2,4),并从阵列中删除这些组合。使用box.splice方法,我可以在一个步骤中只删除一个索引。如果找到组合,是否有其他方法可以一步从数组中删除这两个元素,即(2,4),考虑到这两个元素位于两个不同的索引中,且不相邻。您可以使用该方法实现这一点 例如,如果您知道值的索引,则可以执行以

我有一个数组,如下所示:

var框=[1,2,3,4,5]
var总和=6

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

您可以使用该方法实现这一点

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

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;
});

不可以。您可以执行
筛选
,但实际上
拼接
是唯一的就地删除方法。使用多个步骤没有什么错,但是请确保从末尾开始,这样索引就不会因为删除前面的内容而发生变化。谢谢,从末尾开始索引是有效的。