【问题标题】:Get value from array based on key根据键从数组中获取值
【发布时间】:2020-11-12 15:53:47
【问题描述】:

我正在尝试根据数字字符串从数组中获取文本。

这是数组:

const titles = [
  {
    level: '0',
    text: 'None'
  },
  {
    level: '1',
    text: 'Bee Support'
  },
  {
    level: '2',
    text: 'Bee Staff'
  },
  {
    level: '3',
    text: 'Bee Developer'
  },
  {
    level: '4',
    text: 'Safe Number'
  },
  {
    level: '5',
    text: 'Bee Developer'
  },
]

我正在尝试根据“级别”获取“文本”。我不确定该怎么做,因为我真的做不到.includes

【问题讨论】:

    标签: javascript eris


    【解决方案1】:

    使用find

        const titles = [
          {
            level: '0',
            text: 'None'
          },
          {
            level: '1',
            text: 'Bee Support'
          },
          {
            level: '2',
            text: 'Bee Staff'
          },
          {
            level: '3',
            text: 'Bee Developer'
          },
          {
            level: '4',
            text: 'Safe Number'
          },
          {
            level: '5',
            text: 'Bee Developer'
          },
        ];
        console.log(titles.find(item => item.level === "5").text)

    如果您有不止一次的关卡,并且想要返回该关卡的所有元素,请使用filter

    console.log(titles.filter(item => item.level === "5").map(item => item.text));
    

    【讨论】:

      【解决方案2】:

      您可以为此使用filter,以允许存在多个匹配项。 Mozilla 有一个good explanation

      const titles = [
        {
          level: '0',
          text: 'None'
        },
        {
          level: '1',
          text: 'Bee Support'
        },
        {
          level: '2',
          text: 'Bee Staff'
        },
        {
          level: '3',
          text: 'Bee Developer'
        },
        {
          level: '4',
          text: 'Safe Number'
        },
        {
          level: '5',
          text: 'Bee Developer'
        },
      ]
      
      let searchLevel = "3";
      console.log(
           titles.filter(title => title.level == searchLevel)
               .map(title => title.text)
      );

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-18
        • 2018-08-21
        • 1970-01-01
        • 2021-09-13
        • 2021-08-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多