繁体   English   中英

如何从json数组中删除名称字段?

[英]How can I remove the name field from a json array?

我有一个像这样的json数组:

(3) [{…}, {…}, {…}]
0: {Id: 1, Name: "bask"}
1: {Id: 2, Name: "voll"}
2: {Id: 3, Name: "badminton"} 

我想把它变成这样:

{1:"bask",2:"voll",3:"badminton"}

您可以将Object.fromEntries与映射的键/值对结合使用。

 var array = [{ Id: 1, Name: "bask" }, { Id: 2, Name: "voll" }, { Id: 3, Name: "badminton" }], object = Object.fromEntries(array.map(({ Id, Name }) => [Id, Name])); console.log(object); 

您可以使用reduce遍历数组并构建所需key/value对的对象

 let data = [{Id: 1, Name: "bask"},{Id: 2, Name: "voll"},{Id: 3, Name: "badminton"}] let output = data.reduce((op, {Id, Name}) => { op[Id] = Name return op },{}) console.log(output) 

您可以签出reduce()函数!

let array = [
    {Id: 1, Name: "bask"},
    {Id: 2, Name: "voll"},
    {Id: 3, Name: "badminton"} 
];
console.log(_.reduce(array, function(result, obj){
    result[obj.Id] = obj.Name;
  return result;
}, {}));

您可以检出lodash一个真棒图书馆与其他许多这样的公用事业!

您可以使用reduce()做到这一点:

var a = [
  {Id: 1, Name: "bask"},
  {Id: 2, Name: "voll"},
  {Id: 3, Name: "badminton"}
]

b = a.reduce((acc, item) => {
  acc[item.Id] = item.Name;
  return acc;
}
console.log(b);

您可以用不同的方法来完成,这里是其中一种。

let dataArray = [
  {id: 1, name: 'bask'},
  {id: 2, name: 'voll'},
  {id: 3, name: 'badminton'}
]

let ouputObject = {}

dataArray.map(data => {
  ouputObject[`${data.id}`] = data.name
})

console.log(ouputObject)

outputObject将是

Object {
  1: "bask",
  2: "voll",
  3: "badminton"
}

使用Array.reduce()

 var arr = [{ Id: 1, Name: "bask" }, { Id: 2, Name: "voll" }, { Id: 3, Name: "badminton" }]; var reduceObj = arr.reduce(function(result, currentElement) { result[currentElement.Id] = currentElement.Name; return result; }, {}); console.log(reduceObj); 

使用Array.map()

 var arr = [{ Id: 1, Name: "bask" }, { Id: 2, Name: "voll" }, { Id: 3, Name: "badminton" }]; var mapObject = {} arr.map(obj => { mapObject[obj.Id] = obj.Name }) console.log(mapObject); 

暂无
暂无

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

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