javascript - 在 Javascript 中过滤数组

标签 javascript

<分区>

假设我有以下两个数组:

var arrOne = [1, 4, 7];
var arrTwo = [1, 2, 3, 4, 5];
var arrThree = [];

我想遍历 arrTwo,如果它包含一个也在 arrOne 中的元素,则将其从 arrTwo 中删除,然后将它插入 arrThree。所以查看上面的数组之后数组的状态应该是这样的:

var arrOne = [1, 4, 7];
var arrTwo = [2, 3, 5];
var arrThree = [1, 4];

任何人都可以指出正确的方向和最好的方法吗?如果提供代码,我将不胜感激分步说明,以便我了解发生了什么。

最佳答案

一个简单的for循环,用indexOf匹配,拼接匹配。

var arrOne = [1, 4, 7];
var arrTwo = [1, 2, 3, 4, 5];
var arrThree = [];
for (var i = 0; i < arrTwo.length; i++) {
  if (arrOne.indexOf(arrTwo[i]) >= 0) {
    arrThree.push(arrTwo[i]);
    arrTwo.splice(i, 1);
    i--;
  }
}

console.log(arrOne, arrTwo, arrThree)

Array.IndexOf

Array.splice

关于javascript - 在 Javascript 中过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40543987/

相关文章:

javascript - promise xml2js 解析功能(ES6 promise )

javascript - 如何使 jQuery-DataTables 响应式?

javascript - $.ajax 显示 "�"而不是重音符号,例如 "é"或 "ã"

javascript - 作为本练习的解决方案,这两个循环之间的主要区别是什么? (学习javascript)

javascript - .prop ('selected' ) 不工作,按钮在 jquery 中一直被禁用

javascript - 一个元素的位置是否可以表示为另一个加号像素的位置?

javascript - JQuery:创建一个由我选择的选项的数据属性组成的数组

javascript - 使用 Materialize CSS 和 Angular 进行导航栏搜索

javascript - JavaScript 中的随机对象