javascript - 查找对象是否存在于 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));
解决方案
改为使用.some
。
const exists = (objArray, id) => objArray.some(obj => obj.Id === id);
(如果可能的话,我强烈建议使用严格的平等===
而不是草率的平等)
推荐阅读
- android - Android ViewPager:重新创建单个特定片段
- csv - 使用 Nifi 将行附加到 csv
- android - 错误:无法解决:浓缩咖啡核心和错误:无法解决:跑步者
- excel - 为什么 VBA .AutoFilter 方法在排序时会删除标题行,我该如何避免这种情况?
- curl - 在星号拨号方案中使用 CURL 发送位置选项
- c++ - 这里使用了哪个 std::vector 构造函数?
- visual-studio - 使用 Azure Pipelines 在 Visual Studio 中构建云服务 (ccproj) 项目时出现错误“未找到文件格式标头”
- python - 如果我们用 Tkinter 拉伸窗口,你如何使文本框展开?
- tensorflow - Keras multi-gpu:指定显式 GPU id
- c - gcc 不能使用全局变量