伙计们!我无法获取此阵列中的特定项目。
[
{
"averages":[
{
"STATUS":"0",
"TYPE":"AAA",
},
{
"STATUS":"0",
"TYPE":"ABC",
},
{
"STATUS":"1",
"TYPE":"ESD",
},
{
"STATUS":"1",
"TYPE":"AAA",
},
]
},
{
"averages":[
{
"STATUS":"0",
"TYPE":"CCC",
},
{
"STATUS":"0",
"TYPE":"AAA",
},
{
"STATUS":"1",
"TYPE":"ESD",
},
{
"STATUS":"1",
"TYPE":"XXX",
},
]
},
{
"averages":[
{
"STATUS":"1",
"TIPO":"XXX",
},
{
"STATUS":"1",
"TYPE":"LLL",
},
{
"STATUS":"1",
"TYPE":"AAA",
},
{
"STATUS":"1",
"TYPE":"NU",
},
{
"STATUS":"0",
"TYPE":"XXX",
},
{
"STATUS":"1",
"TYPE":"AAA",
}
]
},
]
我正在尝试将状态与 AAA 型别分开
[0, 1, 0, 1, 1, 1]
我得到这样的阵列:
var quality = solicitacoes[0].produtor.dados[0].apiLaticinio[0].qualidade[0]
var qualityjson = JSON.parse(quality)
console.log(JSON.stringify(qualityjson));
我尝试使用此材料,但没有成功:在此处输入链接描述
我可以按照我提到的方式访问哪些 nodejs 资源?
谢谢如果有人可以帮助我!
uj5u.com热心网友回复:
我相信您是在说您想将带有STATUS
栏位的物件阵列转换为数字阵列。假设您在上面的阵列中有一个项目:
{
"averages":[
{
"STATUS":"0",
"TYPE":"AAA",
},
{
"STATUS":"0",
"TYPE":"ABC",
},
{
"STATUS":"1",
"TYPE":"ESD",
},
{
"STATUS":"1",
"TYPE":"AAA",
},
]
},
假设上述内容被决议并存盘为item
:
const statuses = item.averages.map(i => i.STATUS);
Array.prototype.map将允许您以相同的方式操作阵列的每个元素并回传新阵列(它将具有与旧阵列相同数量的元素)。
在这种情况下,我们使用一个带有STATUS
andTYPE
栏位的物件,而只回传该STATUS
栏位的值。所以我们最终得到了一个数字阵列;[0, 0, 1, 1]
.
uj5u.com热心网友回复:
要从给定阵列中获取所有状态,您可以在Array.map()
内部使用,Array.map()
如下所示:
const getItems = (array = items) => {
return array.map((arItem, _) => {
return arItem.averages.map((nestItem, _) => {
return nestItem.STATUS
})
})
}
console.log([].concat(...getItems()))
//Output:
//[
// '0', '0', '1', '1',
// '0', '0', '1', '1',
// '1', '1', '1', '1',
// '0', '1'
//]
但是,如果您尝试使用 获取项目TYPE='AAA'
,则可以使用以下代码:
const getTypeAAAItems = (array = items) => {
return array.map((arItem, _) => {
return arItem.averages.filter((nestItem) => {
return nestItem.TYPE === 'AAA'
})
})
}
//Output:
//[
// { STATUS: '0', TYPE: 'AAA' },
// { STATUS: '1', TYPE: 'AAA' },
// { STATUS: '0', TYPE: 'AAA' },
// { STATUS: '1', TYPE: 'AAA' },
// { STATUS: '1', TYPE: 'AAA' }
//]
0 评论