首页 > 解决方案 > 查找对象是否存在于 2 个数组之间的最佳方法

问题描述

以下方法对我来说似乎有点幼稚,所以我想知道是否有更好的方法来做到这一点。涉及2个数组,它们包含我必须通过某个属性比较的对象:

function exists(objArray, id) {
    var isFound = false;
    objArray.forEach(obj => {
        if (obj.Id == id)
            isFound = true;
    });

    return isFound;
}

var array1, array2;
array1.forEach(obj => exists(array2, obj.Id));

标签: javascript

解决方案


改为使用.some

const exists = (objArray, id) => objArray.some(obj => obj.Id === id);

(如果可能的话,我强烈建议使用严格的平等===而不是草率的平等)


推荐阅读