[英]get values in an array inside an array
我有一个问题在这里,我想所有的value
的中values
这个数组内数组。
const sample = [ { "key": "sampleKey", "values": [ { "key": "insidesampleKey", "value": 2 }, { "key": "insideofinside", "value": 2 } ] }, { "key": "sampleKey2", "values": [ { "key": "insideSampleKey2", "value": 1 } ] }, { "key": "samplkey3", "values": [ { "key": "insideofsampleKey3", "value": 1 } ] } ]
到目前为止,我只能打印第一个console.log(sample[0].values[0].value)
。 感谢您的帮助。 非常感谢,度过了一个愉快的周末
您可以使用reduce
和concat
获得平坦的单个数组。
const sample = [{"key":"sampleKey","values": [{"key":"insidesampleKey","value":2},{"key":"insideofinside","value":2}]}, {"key":"sampleKey2","values":[{"key":"insideSampleKey2","value":1}]}, {"key":"samplkey3","values":[{"key":"insideofsampleKey3","value":1}]}] var values = sample.reduce((acc, item) => acc.concat(item.values.map(v=> v.value)),[]); console.log(values);
我认为flatMap可能是解决此问题的最佳方法。
sample.flatMap(外部=> external.values.map(内部=> inner.value))
最简单的方法是在数组上使用flatMap,如下所示。 您可以将polyfill用于尚不支持的浏览器。 使用MDN了解更多信息。
sample.flatMap(item => item.values.map(inner => inner.value))
如果要打印其他value
属性,只需在数组上进行map
,然后查看values
数组,然后查看value
,最后使用flat
获取单个数组:
const sample = [{ "key": "sampleKey", "values": [{ "key": "insidesampleKey", "value": 2 }, { "key": "insideofinside", "value": 2 }] }, { "key": "sampleKey2", "values": [{ "key": "insideSampleKey2", "value": 1 }] }, { "key": "samplkey3", "values": [{ "key": "insideofsampleKey3", "value": 1 }] } ]; console.log(sample.map(e => e.values.map(x => x.value)).flat(1));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.