下面是一个比较两个数组对象差异项的方法,具体实现逻辑是:首先判断两个数组长度是否一致,如果不一致,直接返回两数组之间全部为差异项。如果长度一致,则逐一比较两个数组元素,如果有不同的元素,则记录差异项,并返回记录的差异项数组。
function compareArrays(array1, array2) { if (array1.length !== array2.length) { return [...array1, ...array2]; } const diffItems = []; for (let i = 0; i < array1.length; i++) { if (array1[i] !== array2[i]) { diffItems.push(array1[i]); diffItems.push(array2[i]); } } return diffItems; }
使用方式如下:
const array1 = ['apple', 'banana', 'orange']; const array2 = ['apple', 'car', 'orange']; console.log(compareArrays(array1, array2)); // ['banana', 'car']