首页 > 解决方案 > 如何将数组中的对象转换为特定格式

问题描述

我有一个格式如下的 API:

[
   {
      "id": 4,
      "code": "IN",
      "name": "India",
      "recordVersion": "6CB5C760-E145-4FFA-AC63-FAF5F36B6C80",
      "updatedBy": "Sini "
   },
   {
      "id": 59,
      "code": "UK",
      "name": "United Kingdom",
      "recordVersion": "3512B084-8DB7-48F6-9E01-C0861E2A128D",
      "updatedBy": "sinju "
   }
]

我需要将其转换成这种格式:

localizedData = [ 
    { 
        text: "India", 
        value: 4 
    }, 
    { 
        text: "United Kingdom", 
        value: 59 
    }
];

我怎样才能做到这一点?

标签: javascriptarraysjsonecmascript-6mapping

解决方案


假设您要将name属性映射到text,并将id属性映射到value

const source = [
  {
    "id": 4,
    "code": "IN",
    "name": "India",
    "recordVersion": "6CB5C760-E145-4FFA-AC63-FAF5F36B6C80",
    "updatedBy": "Sini "
  },
  {
    "id": 59,
    "code": "UK",
    "name": "United Kingdom",
    "recordVersion": "3512B084-8DB7-48F6-9E01-C0861E2A128D",
    "updatedBy": "sinju "
  }
];

const localizedData = source.map(item => ({text: item.name, value: item.id}));

console.log(localizedData )

学习Array.prototype.map()将在下一次帮助你。


推荐阅读