2016-01-03 4 views
-3

У меня есть массив, который выглядит следующим образом:Как объединить два строковых поля в один в массиве JavaScript?

[ 
    {"firstName": "john", "lastName": "doe", "linkedInID":"..."}, 
    {"firstName": "jane", "lastName": "doe", "linkedInID":"..."}, 
    {"firstName": "someone", "lastName": "Mc Donald", "linkedInID":"..."}, 
    ... 
] 

Я хочу, чтобы объединить в:

[ 
    {"Name": "john doe", "linkedInID": "..."}, 
    {"Name": "jane doe", "linkedInID": "..."}, 
    {"Name": "someone Mc Donald", "linkedInID": "..."}, 
    ... 
] 

Все новые объекты должны иметь поле Name которое является конкатенация firstName и lastName.

Как это сделать?

+3

Что вы попробовать? – Shanoor

+1

Вместо изменения массива, почему бы не конкатцировать строки при их использовании. – Tushar

+2

Вы ищете ['[] .map()'] (https://devdocs.io/javascript/global_objects/array/map) –

ответ

4

Зачем вам нужен Угловой? Одним из возможных вариантов является использование родного .map() яваскрипта метод для того, чтобы превратить ваш входной массив:

var inputArray = [ 
    {"firstName":"john","lastName":" doe","linkedInID":"..."}, 
    {"firstName":"jane","lastName":"doe","linkedInID":"..."}, 
    {"firstName":"someone","lastName":"Mc Donald","linkedInID":"..."}, 
    ... 
]; 

var result = inputArray.map(function(item) { 
    return { 
     Name: item.firstName + ' ' + item.lastName, 
     linkedInID: item.linkedInID 
    }; 
}); 
+0

Версия ES6, пожалуйста? Хорошая функция стрелки! –

+2

@Kyll 'inputArray.map (item => ({ Имя: item.firstName + '' + item.lastName, linkedInID: item.linkedInID }));' – Tushar