[英]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.