javaScript找出两个数组之中不同的元素
在JavaScript中,我们可以使用以下方法找到两个数组中不同的元素:
1. 创建一个函数,将两个数组作为参数传递进去。
2. 在函数内部,创建一个新的空数组,用于存储不同的元素。
3. 使用for循环遍历第一个数组,并使用indexOf()方法检查第二个数组中是否存在相同的元素。
4. 如果第二个数组中不存在当前元素,则将该元素添加到新的数组中。
5. 同样地,使用for循环遍历第二个数组,并使用indexOf()方法检查第一个数组中是否存在相同的元素。
6. 如果第一个数组中不存在当前元素,则将该元素添加到新的数组中。
7. 最后,返回新的数组作为结果,其中包含两个数组中不同的元素。
以下是具体的代码实现:
function findDifferentElements(arr1, arr2) { var differentElements = []; for (var i = 0; i < arr1.length; i++) { if (arr2.indexOf(arr1[i]) === -1) { differentElements.push(arr1[i]); } } for (var j = 0; j < arr2.length; j++) { if (arr1.indexOf(arr2[j]) === -1) { differentElements.push(arr2[j]); } } return differentElements; } // 示例用法 var array1 = [1, 2, 3, 4, 5]; var array2 = [3, 4, 5, 6, 7]; var result = findDifferentElements(array1, array2); console.log(result); // 输出 [1, 2, 6, 7]
通过上述代码,我们可以找到两个数组中的不同元素,并将它们存储在一个新的数组中。最后,我们可以通过打印新数组来查看结果。在这个示例中,结果为 [1, 2, 6, 7]。
// 差集 数组1 相对于数组2 所没有的
// 示例用法 var array1 = [1, 2, 3, 4, 5]; var array2 = [3, 4, 5, 6, 7]; const diff = array2.filter( (item) => !new Set(array1).has(item) ); console.log(result); // 输出 [1, 2, 6, 7]
找出第一个数组[{id:1},{id:2},{id:3},{id:4}]在第二个数组d:1},{id:6},{id:3},{id:5}]不存在的元素
const array1 = [{id: 1}, {id: 2}, {id: 3}, {id: 4}]; const array2 = [{id: 1}, {id: 6}, {id: 3}, {id: 5}]; // Find objects in array1 that have ids not in array2 const elementsNotInArray2 = array1.filter(obj1 => !array2.some(obj2 => obj2.id === obj1.id)); console.log(elementsNotInArray2); // Output: [{id: 2}, {id: 4}]
本文来自博客园,作者:黄橙,转载请注明原文链接:https://www.cnblogs.com/RedOrange/p/17874281.html