Javascript 获取Json数组中的一些元素

Javascript 获取Json数组中的一些元素,javascript,Javascript,我有一个json数组格式 [ { "code": "string", "codeB": "string", "country": "string", "industry": "string", "name": "string", "nameB": "string" } ] 我将创建一个只包含一些项目的新对象: [ { "code": "string", "codeB": "string", "name": "s

我有一个json数组格式

[
  {
    "code": "string",
    "codeB": "string",
    "country": "string",
    "industry": "string",
    "name": "string",
    "nameB": "string"
  }
]
我将创建一个只包含一些项目的新对象:

[
  {
    "code": "string",
    "codeB": "string",
    "name": "string",
    "nameB": "string"
  }
]
我从localStorage获取数据,然后对需要的项目进行筛选

  var allData = JSON.parse(sessionStorage.getItem("groups"));
  var datafiltered = allData.filter(function(el) {
    return el.code && el.name && el.codeB && el.nameB;
  });
  console.log("data filtered", datafiltered);
实际上,结果是我得到了空数组

您可以使用它来创建一个新的对象数组

var datafiltered = allData.map(function (el) {
    return {
        code: el.code,
        name: el.name,
        codeB: el.codeB,
        nameB: el.nameB,
    }
});
var allData=[{
“代码”:“字符串”,
“代码B”:“字符串”,
“国家”:“字符串”,
“行业”:“字符串”,
“名称”:“字符串”,
“nameB”:“字符串”
}];
var datafiltered=allData.map(函数(el){
返回{
代码:el.code,
姓名:el.name,
代码b:el.codeB,
nameB:el.nameB,
}
});

log(datafiltered)
对于仅获取一些键,您可以为新对象映射这些属性

var data=[{code:“string”,codeB:“string”,country:“string”,industry:“string”,name:“string”,nameB:“string”}],
keys=['code','codeB','name','nameB'],
结果=data.map(o=>Object.assign(…keys.map(k=>({[k]:o[k]}));

控制台日志(结果)以下是使用lodash函数的示例:

const测试=[{
“代码”:“字符串”,
“代码B”:“字符串”,
“国家”:“字符串”,
“行业”:“字符串”,
“名称”:“字符串”,
“nameB”:“字符串”
}];
常量键=['code'、'codeB'、'name'、'nameB'];
console.log(u.pick(测试[0],键))

您的筛选条件将始终返回false,因此数组为空。如果您需要使用相同的数组并删除其他未使用的字段,请使用delete I discover uz.pick函数