[英]create an array of objects from another array of objects using typescript with different key value pair
我有像这样的 JSON 格式我不知道如何从不同的 object 数组创建新的对象数组
[
{
"description":"microsoftLocation",
"icon":"Marker",
"data_id":"123",
"reference":"_1_microsoftOffice",
"id":1,
"text":"microsoftOffice"
},
{
"description":"facebookOffice",
"icon":"Marker",
"data_id":"456",
"reference":"_2_facebookOffice",
"id":2,
"text":"_2_microsoftOffice"
},
]
我希望 output 看起来像这样,但不确定如何获得动态 url
[
{
"url":"http://localhost:3000/layer?text=microsoftLocation&data_id=123",
"text":"microsoftLocation",
"active":true,
"icon":Marker
},
{
"url":"http://localhost:3000/layer?text=facebookOffice&data_id=123",
"text":"facebookOffice",
"active":true,
"icon":Marker
},
]
只需使用map
方法即可将 map 从原始 object 属性转换为新属性。
const array = [ { "description":"microsoftLocation", "icon":"Marker", "data_id":"123", "reference":"_1_microsoftOffice", "id":1, "text":"microsoftOffice" }, { "description":"facebookOffice", "icon":"Marker", "data_id":"456", "reference":"_2_facebookOffice", "id":2, "text":"_2_microsoftOffice" }, ]; console.log(array.map(obj => ({ icon: obj.icon, active: true, text: obj.description, url: `http://localhost:3000/layer?text=${obj.description}&data_id=${obj.data_id}`})))
您可以使用 map 来做到这一点,如下所示:
const data = [{ "description": "microsoftLocation", "icon": "Marker", "data_id": "123", "reference": "_1_microsoftOffice", "id": 1, "text": "microsoftOffice" }, { "description": "facebookOffice", "icon": "Marker", "data_id": "456", "reference": "_2_facebookOffice", "id": 2, "text": "_2_microsoftOffice" }, ]; const newData = data.map(el => ({ url: `http://localhost:3000/layer?text=${el.description}&data_id=${el.data_id}`, text: el.description, active: true, icon: el.icon })); console.log(newData);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.