javascript - 比较两个数组并使用纯 javascript 或 jquery 创建两个缺少元素和新元素的新数组

标签 javascript jquery arrays compare

如何比较两个 javascript 数组并创建两个包含缺失元素和新元素的新数组?数组元素将始终是字符串或数字,并且不能 100% 确定它们将以任何方式排序。

var array1= ['11', '13', '14', '18', '22', '23', '25'];
var array2= ['11', '13', '15', '16', '17', '23', '25', '31'];
var missing_elements = [];
var new_elements = [];

***Required Output:***
missing_elements= ['14', '18', '22']
new_elements= ['15', '16', '17', '31']

最佳答案

好吧,一个简单的解决方案就是遍历 array1,使用 .includes() 一次测试一个元素。生成缺失元素的列表,然后执行相反的操作以获取新元素的列表。

你可以使用 .filter()arrow functions保持简短:

var array1= ['11', '13', '14', '18', '22', '23', '25'];
var array2= ['11', '13', '15', '16', '17', '23', '25', '31'];

var missing_elements = array1.filter(v => !array2.includes(v));
var new_elements = array2.filter(v => !array1.includes(v));

console.log(missing_elements);
console.log(new_elements);

关于javascript - 比较两个数组并使用纯 javascript 或 jquery 创建两个缺少元素和新元素的新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46147900/

相关文章:

javascript - 需要 js Backbone JS 全局模型

JQuery:特定于 div 类的悬停不适用于 bootstrap css

Java-根据键值处理Json数组

php - 在 PHP 中计算数组的中位数

javascript - JavaScript 正则表达式帮助

javascript - 以特定方式对多维数组进行分组/压缩的更有效/更聪明的方法

jQuery 选择器 : Select element with specific class and 'title' attribute

c# - 扩展数组的最快方法

javascript - WaitForTarget 上的 Puppeteer 超时

javascript - 尝试包含 JS 文件时出现 "SecurityError: The operation is insecure."