javascript合并数组并去重封装方法

173 阅读1分钟

只是封装的一个方法而已,在原生 JS 中可用,在 Vue 中可用,在 React 中可用。

/*
* 参数解析:
*   array1:第一个数组
*   array2:第二个数组
*   proper:根据什么对象属性进行判断
* 通过 import { mergeArray } from '../../utils/mergeArray' 即可。
* 返回值:返回合并后的数组
* */
function mergeArray(array1, array2, proper) {
    if (array1 instanceof Array && array2 instanceof Array) {
        let arr = array1.concat(array2) // 合并数组
        let newArr = []; // 用于存储新的数据
        for (let item1 of arr) {
            let flag = true;
            for (let item2 of newArr) {
                if (item1[proper] == item2[proper]) {
                    flag = false;
                }
            }
            if (flag) {
                newArr.push(item1)
            }
        }
        return newArr
    }
}

module.exports = {
    mergeArray
}