拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 如何访问阵列中的特定项目?[节点]

如何访问阵列中的特定项目?[节点]

白鹭 - 2022-03-11 2151 0 0

伙计们!我无法获取此阵列中的特定项目。

[
   {
      "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将允许您以相同的方式操作阵列的每个元素并回传新阵列(它将具有与旧阵列相同数量的元素)。

在这种情况下,我们使用一个带有STATUSandTYPE栏位的物件,而只回传该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 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *