javascript - 2 个对象数组的值的交集

标签 javascript arrays

我有 2 个数组,形式如下:

array1 = [{key1: value1}, {key1: value2}, ...];
array2 = [{key2: value0}, {key2: value2}, ...];

两个数组中的对象键不同,但值可能匹配。我想编写一些代码来获取两个数组之间的交集,在上面的示例中,它应该返回:[value2]

我尝试使用:

array1.filter(function(n)) {
    return array2.indexOf(n) != -1;
});

但当然我得到了一个空数组,因为键不匹配。是否可以修改上述代码以忽略对象键并仅匹配它们的值?

最佳答案

    var kiran = [];
    var array1 = [{ key1: 'value1' }, { key1: 'value2' }];
    var array2 = [{ key2: 'value0' }, { key2: 'value2' }];
    array1.map(function(item1){
       array2.map(function(item2){
         if(item1.key1 === item2.key2){
           kiran.push(item2.key2);
         }
       })
    })
    console.log(kiran);

关于javascript - 2 个对象数组的值的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41876877/

相关文章:

javascript - Angular JS 将对象复制到另一个对象到 for 循环中

c - C 中的多维数组和一些 math.h

javascript - 在黑莓网络中检索方向改变事件?

javascript - 文本区域自动滚动到底部

javascript - 如何从 JavaScript(客户端)调用 Helper Method(服务器端)?

javascript - 选择单选按钮时如何清除文本字段内的文本

javascript - 在折线图中显示信息的搜索框

ios - Swift - 如何从 Firebase 检索多个值并将它们显示在 UITABLEVIEW 上

c - c 中是否有一个函数可以复制 char 数组的特定部分

java - 无限二维数组搜索