如何比较两个 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/