2015-12-18 2 views
2

Есть ли простой способ получить последний массив из первого?Преобразование массива в другую структуру с использованием значений массива

Источник массив:

[1, 2, 3, 4, 5] 

Целевая структура:

[ 
    {id: 1, text: idToName(1)}, 
    {id: 2, text: idToName(2)}, 
    {id: 3, text: idToName(3)}, 
    {id: 4, text: idToName(4)}, 
    {id: 5, text: idToName(5)} 
] 
+1

Это не * JSON * массив. Вы просто имеете в виду массив * в Javascript *? – deceze

+0

Я имел в виду массив объектов Я думаю, если массив JSON неверен, чтобы квалифицировать его. – Ellone

ответ

10

Это простой в использовании Array.prototype.map здесь:

var array = [1, 2, 3, 4, 5]; 
var mapped = array.map(function(num) { return { id: num, text: idToName(num) }; }); 

С ES6 arrow functions это would be:

let mapped = array.map(num => ({ id: num, text: idToName(num) })); 
3
var _x = [1, 2, 3, 4, 5].map(function(v){ 
    return {"id":v, "text":idToName(v)}; 
}); 

Использование .map, Live Fiddle

Или в ES6

var _x = [1, 2, 3, 4, 5].map(v => ({"id":v, "text":idToName(v)})); 

Live Fiddle