繁体   English   中英

与变量值匹配的Javascript映射数据

[英]Javascript Map Data that matches variable value

我一直在从事Chart项目 ,当我将鼠标移到Chart区域上时,需要使用工具提示显示一些值。 这是我需要映射的数据

    {  
   "item":[  
      {  
         "name":"abcd",
         "in":12,
         "out":2,
         "net":10,
         "child":[  
            {  
               "name":"Test",
               "in":2,
               "out":2,
               "net":0,
               "child":null
            },
            {  
               "name":"Max",
               "in":10,
               "out":0,
               "net":10,
               "child":null
            }
         ]
      },
      {  
         "name":"Dress",
         "in":43,
         "out":0,
         "net":43,
         "child":[  
            {  
               "name":"Class-1",
               "in":35,
               "out":0,
               "net":35,
               "child":null
            },
            {  
               "name":"One",
               "in":8,
               "out":0,
               "net":8,
               "child":null
            }
         ]
      }
   ]
}

childnamein任何变量匹配时,我需要映射child

我用这种方式jsondata.map(sale => sale.child)但它映射了所有子值。 我该怎么做?

您可以使用“过滤器”按名称过滤,然后母鸡将其映射为这样。

let child = item
  .filter(sale => sale.name === "abcd" || sale.in === "value")
  .map(sale => sale.child);

console.log(child);

您首先需要过滤和使用地图。 例如,如果您要查找包含字符串“ abc”的记录的子级,则可以这样做

const records = items.filter(item => item.name.indexOf("abc") > -1);
const children = records.map(r => r.child)

您可以先filter项目,然后使用map 如果要多个条件:

item.filter(sale => sale.name === "abcd" || sale.in === "value")
    .map(sale => console.log(sale.child));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM