我得到了一个Array a = [1,2,3,4,5]和一个Array b = [1,3],其中包含a的一些元素。因此,它是a的子数组的一种。

在下面的此for循环中,我可以使用b的元素来“做某事”。现在,我如何在与a无关的b元素的同一循环中进行交互?那意味着2, 4 and 5来自a吗?如何过滤掉它们?

function action (){
for (var i=0; i<b.length; i++) {

      b[i].x = "do something";


  }

非常感谢”

最佳答案

您可以结合使用filter()函数和includes()函数来过滤列表:

const diff = a.filter(i => !b.includes(i));
diff将只包含a中不包含在b中的元素。

这称为阵列之间的差异。还有很多库将为数组提供某种diff函数。

关于javascript - 如何从父阵列中滤除子阵列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45021499/

10-13 05:47