【问题标题】:reactjs - get a subset of an nested array objectsreactjs - 获取嵌套数组对象的子集
【发布时间】:2021-08-25 06:13:37
【问题描述】:

我有一个像这样的变量,我将它作为输入传递给 react 应用程序。

const options = [{"label": "Gryffindor", "value": "Gryffindor", "description": "Daring, strong nerve and chivalry.", "color": "#00ffa2"},
      {"label": "Slytherin", "value": "Slytherin", "description": "Cunning and ambitious. Possibly dark wizard.", "color": "#84d2ff"}]

从上面的数组我想实现以下输出:

const TAG_COLORS:any = {
  Gryffindor: '#00ffa2',
  Slytherin: '#84d2ff',
}

有人可以建议如何实现这一目标吗?

【问题讨论】:

    标签: reactjs arrayobject nested-object object-object-mapping


    【解决方案1】:

    认为这就是你所追求的:

    编辑。我误读了这个问题。

      const options = [{"label": "Gryffindor", "value": "Gryffindor", "description": "Daring, strong nerve and chivalry.", "color": "#00ffa2"}, {"label": "Slytherin", "value": "Slytherin", "description": "Cunning and ambitious. Possibly dark wizard.", "color": "#84d2ff"}];
     
    var TAG_COLOURS = {};
    for (var i = 0; i < options.length; i++) {
      TAG_COLOURS[options[i].label] = options[i].color;
    }
    
    console.log(TAG_COLOURS);

    【讨论】:

    • 非常感谢。你让我今天一整天都感觉很好。这绝对没问题。
    【解决方案2】:

    您可以使用 map 函数创建一个 JavaScript 对象,然后在其上使用 JavaScript 对象方法。

    你可以这样做:

    var options = [
    {
     "label":
         "Gryffindor", "value": "Gryffindor", "description": "Daring, strong nerve and chivalry.", "color": "#00ffa2"}, 
    {
     "label": 
         "Slytherin", "value": "Slytherin", "description": "Cunning and ambitious. Possibly dark wizard.", "color": "#84d2ff"}
    ]
    
    
    options.map((data)=>{console.log(Object.values(data))})

    希望这能回答你的问题

    【讨论】:

      猜你喜欢
      • 2016-07-23
      • 2020-04-13
      • 2020-03-14
      • 2018-10-14
      • 2019-12-01
      • 1970-01-01
      • 2017-05-14
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多