繁体   English   中英

从 JavaScript 中的嵌套对象数组中提取值

[英]Extracting values from Array of nested Objects in JavaScript

我有一个对象数组,并尝试使用数组的匹配值提取对象。

const A = [{_id: 'a', name: '1'}, {_id: 'b', name: '2'}, {_id: 'c', name: '3'}]const B = ['2', '3']所以,我想将数组 B 的值与数组 A 匹配,并将对象放入数组 C 中,例如const C = [{_id: 'b', name: '2'}, {_id: 'c', name: '3'}]

  const C = A.forEach((list) => {
    let key = []
    if(list.includes[B]) {
    key.push(list)
     }
  })

我被困在这里,如何将这些对象推送到数组 C?

当你说匹配值时,似乎你试图太匹配名称值..如果是这样的话 - 这应该有效..

const A = [{_id: 'a', name: '1'}, 
           {_id: 'b', name: '2'}, 
           {_id: 'c', name: '3'}];
const B = ['2', '3'];
const C = [];
A.forEach((item) => {
    if(B.filter(x=>x == item.name).length > 0) {
        C.push(item)
    }    
});

我希望我有所帮助

 const arrA = [{ _id: 'a', name: '1' }, { _id: 'b', name: '2' }, { _id: 'c', name: '3' }]; const arrB = ['2', '3']; var arrC = []; arrB.forEach(element => { arrA.forEach(element2 => { if (element === element2.name) { arrC.push(element2) } }); }); console.log(arrC);

你可以过滤数组。

 const arrA = [{ _id: 'a', name: '1' }, { _id: 'b', name: '2' }, { _id: 'c', name: '3' }]; arrB = ['2', '3']; arrC = arrA.filter(({ name }) => arrB.includes(name)); console.log(arrC);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM