javascript - 如何通过比较 2 个数组将值推送到新数组

标签 javascript

我有 2 个数组。

selectedgroup = [ ID:1, selected:true,
                  ID:2, selected:false,
                  ..... ]

第二个数组是,

 mainarr=[ ID:1, mainid:25, name:ser, pID:545,
            ID:2, mainid:84, name:ferdi, pID:678,
            ID:3, mainid:88, name:ferSER, pID:656,
              ....]

我想检查mainarr是否包含selectedgroup的元素。两个数组中的唯一 ID 是 ID 。然后我想将它推到一个新的数组上。 我怎样才能做到这一点?

最佳答案

假设您的数组采用以下有效格式。迭代您的 mainarr 并检查 mainarrID 是否与 selectedgroupID 匹配array 然后简单地将对象插入新数组。如下:

var selectedgroup = [ {ID:1, selected:true},{ID:2, selected:false} ];
var mainarr = [ {ID:1, mainid:25, name:'ser', pID:545},{ID:2, mainid:84, name:'ferdi', pID:678},{ID:3, mainid:88, name:'ferSER', pID:656}];
var newArray = [];
mainarr.forEach(function(mainObject) {
   for (let i=0; i<selectedgroup.length; i++){
        if(selectedgroup [i].ID === mainObject.ID){
           newArray.push(mainObject);
        }
   }
});
console.log(newArray);

关于javascript - 如何通过比较 2 个数组将值推送到新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59676015/

相关文章:

javascript - 检测 Firebug 打开和关闭

javascript - js如何使用arguments对象

javascript - 如何将json解析成highcharts

javascript - 当我按下 1 个其他 div 时,如何更改 2 个 div 的背景颜色?

javascript - 将参数传递给事件处理函数的最佳实践

javascript - JQuery Click for any child in any children except

c# - 如何从 JavaScript/C# 生成宽度 CSS

javascript - 显示更多代码在 HTML 中无法正常工作

javascript - ng2 图表 - 刷新饼图

javascript - 使用 Angularjs 循环范围