[英]Given a Map how to sort by value and if value matches sort by key 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
}
]
}
]
}
当child
与name
或in
任何变量匹配时,我需要映射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.