Javascript 使用ES6表示法中的filter()方法解析1D数组

Javascript 使用ES6表示法中的filter()方法解析1D数组,javascript,arrays,json,lodash,Javascript,Arrays,Json,Lodash,我的代码库中的以下代码片段返回数组的映射,我想知道如何传递一个过滤器,例如status=2,以便只获得过滤后的输出。我应该过滤数组,然后使用映射还是只过滤没有映射的数据 它可以是纯JS或Lodash方法 另外,我希望在return语句中打印最后的输出,如代码片段中所述 const数据={ “边缘”:[{ “节点”:{ “id”:20, “地位”:1, “信息”:“订单信息20” } }, { “节点”:{ “id”:19, “地位”:1, “信息”:“订单信息19” } }, { “节点”:{

我的代码库中的以下代码片段返回数组的
映射
,我想知道如何传递一个过滤器,例如
status=2
,以便只获得过滤后的输出。我应该
过滤
数组,然后使用
映射
还是只过滤没有映射的数据

它可以是纯JS或Lodash方法

另外,我希望在
return
语句中打印最后的输出,如代码片段中所述

const数据={
“边缘”:[{
“节点”:{
“id”:20,
“地位”:1,
“信息”:“订单信息20”
}
},
{
“节点”:{
“id”:19,
“地位”:1,
“信息”:“订单信息19”
}
},
{
“节点”:{
“id”:18,
“地位”:2,
“信息”:“订单信息18”
}
},
{
“节点”:{
“id”:17,
“地位”:3,
“信息”:“订单信息17”
}
},
{
“节点”:{
“id”:16,
“地位”:2,
“信息”:“订单信息16”
}
},
{
“节点”:{
“id”:15,
“地位”:2,
“信息”:“订单信息15”
}
},
{
“节点”:{
“id”:14,
“地位”:1,
“信息”:“订单信息14”
}
},
{
“节点”:{
“id”:13,
“地位”:2,
“信息”:“订单信息13”
}
},
{
“节点”:{
“id”:12,
“地位”:1,
“信息”:“订单信息12”
}
},
{
“节点”:{
“id”:11,
“地位”:1,
“信息”:“订单信息11”
}
},
{
“节点”:{
“id”:10,
“地位”:1,
“信息”:“订单信息10”
}
},
{
“节点”:{
“id”:9,
“地位”:1,
“信息”:“订单信息9”
}
},
{
“节点”:{
“id”:8,
“地位”:1,
“信息”:“订单信息4”
}
},
{
“节点”:{
“id”:7,
“地位”:1,
“信息”:“订单信息8”
}
},
{
“节点”:{
“id”:6,
“地位”:1,
“信息”:“订单信息7”
}
},
{
“节点”:{
“id”:5,
“地位”:1,
“信息”:“订单信息6”
}
},
{
“节点”:{
“id”:4,
“地位”:1,
“信息”:“订单信息5”
}
},
{
“节点”:{
“id”:3,
“地位”:1,
“信息”:“订单信息3”
}
},
{
“节点”:{
“id”:2,
“地位”:1,
“信息”:“订单信息2”
}
},
{
“节点”:{
“id”:1,
“地位”:1,
“信息”:“订单信息1”
}
}
]
};
常量myFunction=()=>{
返回data.edges.map(({
节点:{
身份证件
地位
信息
}
}) => {
返回(
{id}
{状态}
{info}
);
});
};
twoEdge=edges.filter((thingy)=>thingy.node.status==2)。。。或者类似的


twoEdge=edges.filter((thingy)=>thingy.node.status==2)。。。或者类似的东西,您只需过滤数组并用模板文本映射所需字符串

var data={edges:[{node:{id:20,status:1,info:{Order info 20}},{node:{id:19,status:1,info:{Order info 19}},{node:{id:18,status:2,info:{Order info 18},{node:{id:17,status:3,info:{Order info:17},{node:{id:16,status:2,info:{node:{id:15,status:2,info:“订单信息15”},{node:{id:14,状态:1,信息:“订单信息14”},{node:{id:13,状态:2,信息:“订单信息13”},{node:{id:12,状态:1,信息:“订单信息12”},{node:{id:11,状态:1,信息:“订单信息11”},{node:{id:10,状态:1,信息:“订单信息10”},{node:{id:9,状态:1,信息:“订单信息9”{node:{id:8,状态:1,信息:“订单信息4”},{node:{id:7,状态:1,信息:“订单信息8”},{node:{id:6,状态:1,信息:“订单信息7”},{node:{id:5,状态:1,信息:“订单信息6”},{node:{id:4,状态:1,信息:“订单信息5”},{node:{node:{id:3,状态:1,信息:“订单信息3”},{node:{id:2,状态:1,信息:“订单信息2”},{node:{id:1,状态:1,信息:“订单信息1”}]},
myFunction=\ux=>data.edges。
过滤器(a=>a.node.status==2)。
映射({node:{id,status,info}})=>`${id}${status}${info}`);
console.log(myFunction());

.as console wrapper{max height:100%!important;top:0;}
您只需筛选数组并使用模板文本映射所需字符串即可

var data={edges:[{node:{id:20,status:1,info:{Order info 20}},{node:{id:19,status:1,info:{Order info 19}},{node:{id:18,status:2,info:{Order info 18},{node:{id:17,status:3,info:{Order info:17},{node:{id:16,status:2,info:{node:{id:15,status:2,info:“订单信息15”},{node:{id:14,状态:1,信息:“订单信息14”},{node:{id:13,状态:2,信息:“订单信息13”},{node:{id:12,状态:1,信息:“订单信息12”},{node:{id:11,状态:1,信息:“订单信息11”},{node:{id:10,状态:1,信息:“订单信息10”},{node:{id:9,状态:1,信息:“订单信息9”{node:{id:8,状态:1,信息:“订单信息4”},{node:{id:7,状态:1,信息:“订单信息8”},{node:{id:6,状态:1,信息:“订单信息7”},{node:{id:5,状态:1,信息:“订单信息6”},{node:{id:4,状态:1,信息:“订单信息5”},{node:{node:{id:3,状态:1,信息:“订单信息3”},{node:{id:2,状态:1,信息:“订单信息2”},{node:{id:1,状态:1,信息:“订单信息1”}]},
myFunction=\ux=>data.edges。
过滤器(a=>a.node.status==2)。
映射({node:{id,status,info}})=>`${id}${status}${info}`
twoEdges = edges.filter((thingy) => { return (thingy.node.status === 2);}); 
const myFunction = () => {
  return data.edges.reduce((result, {
    node: {
      id,
      status,
      info
    }
  }) => {
    if (status === 2) {
      return result.concat(<div><span>{id}</span><span>{status}</span><span>{info}</span></div>);
    }
    return result;
  }, []);
};
result.concat(<span>{id}</span>, <span>{status}</span>, <span>{info}</span>);