js 根据后端返回筛选前端数据

根据后端返回筛选前端数据
{"code":200,"msg":"请求成功","data":[{"0":"保密管理业务系统","bmgl":["涉密人员"]},{"0":"保密服务业务系统","bmfw":["省局邮箱","载体销毁"]},{"0":"业务数据展示系统","sjzs":["大屏展示"]}]}

systemEntryList: [{popoverStatus: false,name: '保密管理业务系统',list: [{name: '涉密人员',img: 'smry'},{name: '定密管理',img: 'dmgl'}]},{popoverStatus: false,name: '保密服务业务系统',list: [{name: '省局邮箱',img: 'yxxt'},{name: '载体销毁',img: 'smzt'}]}]



 let data = [
    {
      b: "保密管理业务系统",
      s: ["涉密人员"]
    },
    {
      b: "保密监督业务系统",
      s: ["省局邮箱", "载体销毁"]
    }
  ];
  let arr=[];
  data.map((item)=>{
    let obj={};
    obj.popOverStatus=false;
    obj.name=item.b;
    obj.list=item.s;
    arr.push(obj);
  });
  console.log(arr)

你这发的有点无厘头

这是json数据,而且是json数组,在前端转jsonarray 然后循环取值

以下是详细解答,望采纳


如果我理解你的问题正确,可以使用 JavaScript 的 map 函数来筛选你的前端数据。

首先,你需要定义一个筛选函数来返回满足您的筛选条件的数据,例如:

function filterData(data) {
  return data.bmgl.includes("涉密人员");
}

然后,可以使用 map 函数将满足条件的数据转换为想要的格式,例如:

systemEntryList = response.data.map(item => {
  return {
    popoverStatus: false,
    name: item[0],
    list: [
      { name: item.bmgl[0], img: "smry" },
      { name: item.bmgl[1], img: "dmgl" }
    ]
  };
});