简体   繁体   English

在另一个数组内的JavaScript对象数组中按属性查找对象

[英]Find object by property in an array of JavaScript objects inside another array

I have an array called mainarray which has three objects inside it. 我有一个名为mainarray的数组,其中有三个对象。 Inside each object there's another array called innerarray which has its own three objects. 在每个对象内部有另一个名为innerarray的数组,该数组具有自己的三个对象。

How do I get the first property of every second object inside each of the innerarray ? 如何获取每个innerarray内部每个第二个对象的第一个属性? Is this possible? 这可能吗?

mainarray: [{
    innerarray: [{
        property1: value1,
        property2: value2,
        property3: value3,
    }, {
        propertyiwant: value1,
        property2: value2,
        property3: value3,
    }, {
        property1: value1,
        property2: value2,
        property3: value3,
    }]
}, {
    innerarray: [{
        property1: value1,
        property2: value2,
        property3: value3,
    }, {
        propertyiwant: value1,
        property2: value2,
        property3: value3,
    }, {
        property1: value1,
        property2: value2,
        property3: value3,
    }]
}, { 
    innerarray: [{
        property1: value1,
        property2: value2,
        property3: value3,
    }, {
        propertyiwant: value1,
        property2: value2,
        property3: value3,
    }, {
        property1: value1,
        property2: value2,
        property3: value3,
    }]
}]

This question is totally different than From an array of objects, extract value of a property as array . 这个问题与从对象数组中提取属性值作为array完全不同。 As here i am trying to get property of an object inside an array which is inside another array. 在这里,我试图获取另一个数组内部的数组中对象的属性。

mainarray.map(item => item.innerarray[1].propertyiwant);

or, if you use underscore and es5 only 或者,如果仅使用下划线和es5

_.map(mainarray, function(item){
    return item.innerarray[1].propertyiwant
});

You can try the following code. 您可以尝试以下代码。 It will bring you every second (in the sense of 2nd, 4th, 6th... etc) object in each subarray if they exist. 如果每个子数组存在,它将每秒带给您第二个,第二个,第四个,第六个……等的对象。 If you are interested in only the second object then it's a matter of replacing the whole e.innerarray.reduce(.. . part with e.innerarray[2] . This will get you the whole desired 2nd object and then you can access any property of it that you like. 如果您只对第二个对象感兴趣,那么只需将整个e.innerarray.reduce(..部分替换为e.innerarray[2] 。这将为您提供整个所需的第二个对象,然后您可以访问任何第二个对象您喜欢的属性。

 var mainarray = [{ innerarray: [{ property1: "value1", property2: "value2", property3: "value3", }, { propertyiwant: "value1", property2: "value2", property3: "value3", }, { property1: "value1", property2: "value2", property3: "value3", }] }, { innerarray: [{ property1: "value1", property2: "value2", property3: "value3", }, { propertyiwant: "value1", property2: "value2", property3: "value3", }, { property1: "value1", property2: "value2", property3: "value3", }] }, { innerarray: [{ property1: "value1", property2: "value2", property3: "value3", }, { propertyiwant: "value1", property2: "value2", property3: "value3", }, { property1: "value1", property2: "value2", property3: "value3", }] }], mapped = mainarray.map(e => e.innerarray.reduce((p,c,i) => (i%2 && p.push(c),p),[])); console.log(mapped); 

暂无
暂无

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

相关问题 javascript通过另一个对象数组内的属性检查添加或替换对象 - javascript add or replace an object by property check inside another array of objects 查找属性是否在对象的JavaScript数组内有效 - Find if a Property is Valid inside JavaScript Array of Objects 另一个对象内的对象数组(Javascript) - Array of Objects inside another object(Javascript) JavaScript-在对象数组中的对象数组中查找对象 - JavaScript - Find an object among an array of objects, inside an array of objects Javascript在对象数组中查找具有匹配属性的对象,如果存在则获取另一个属性 - Javascript find object with matching property in array of objects and get another property if exists 如何在 JavaScript 中的另一个对象中找到具有属性的对象 - How do I find objects with a property inside another object in JavaScript 如何在javascript中的另一个对象数组中找到数组的长度 - How to find length of an array inside another array of object in javascript 如果元素在另一个对象数组中,则删除包含对象数组内部数组的对象属性 - remove object property containing array inside array of objects if element in another array of objects 在对象属性下的对象数组内搜索JavaScript中的字符串帮助 - Search inside an array of objects under an object property for a string assistance in JavaScript Javascript:如何为对象数组中的 object 属性设置值? - Javascript: How to set value to an object property inside an array of objects?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM