Скрыть объект в массив - PullRequest
0 голосов
/ 26 ноября 2018

Как я могу преобразовать объект в массив объектов и добавить ключ и значение?

Мой текущий объект

{   "0": "Ann_B", "1": "Billy_P", "2": "Carly_C", "3": "David_L"   }

Я хочу, чтобы он был

[
    {  "value": "Ann_B_Aii", "name": "Ann B Aii",   },
    {  "value": "Billy_P", "name": "Billy P"  },
    {  "value": "Carly_C", "name": "Carly C"  },
    {  "value": "David_L", "name": "David L"  },
]

Я использовал Object.entries и заменил _ на пробел

Ответы [ 3 ]

0 голосов
/ 26 ноября 2018

Вы можете использовать Object.values() и .map() методы:

let data = {
  "0": "Ann_B",
  "1": "Billy_P",
  "2": "Carly_C",
  "3": "David_L"
};

let result = Object.values(data)
                   .map(v => ({id: v, name: v.replace(/_/g, ' ')}));
                   
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
0 голосов
/ 27 ноября 2018

Попробуйте это (я предполагаю, что d содержит ваш входной объект; рабочий пример ЗДЕСЬ )

Object.values(d).map(v=>({value:v,name:v.replace(/_/g,' ')}));
0 голосов
/ 26 ноября 2018

Вы можете принимать значения и повторять, получая новые объекты.

var data = { 0: "Ann_B", 1: "Billy_P", 2: "Carly_C", 3: "David_L" },
    result = Object.values(data).map(v => ({ id: v, name: v.replace(/_/g, ' ') }));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...