2015-11-28 3 views
0

Я хочу уменьшить размер массива в памяти моего сервера NodeJS.Наивысшая производительность при разбиении объектов на массив объектов

Я хочу отправить только «заголовок» каждого объекта в массиве, уменьшая сетевой трафик. У меня есть этот массив на сервере:

var lotOfThings = [ 
    {name: 'Watson', role: 'Mod', lotOfData: ... }, 
    {name: 'Sherlock', role: 'Admin', lotOfData: ...} 
]; 

Я хочу удалить lotOfData из всех объектов в пределах lotOfThings и отправить обратно пользователю только это:

{name: 'Watson', role: 'Mod'}, 
    {name: 'Sherlock', role: 'Admin'} 

Как я могу добиться этого с хорошим представление?

+0

использование underscore.js – pwilmot

+0

Я немного смущает то, что вы описали. Вы хотите просто взять подмножество 'lotOfThings', или вы хотите отправить каждый элемент в' lotOfThings' за вычетом нерелевантных ключей, обозначенных 'lotOfData'? – cmw

+0

Каждый элемент в lotOfThings минус нерелевантные ключи, обозначенные lotOfData. В точку. – Rodmentou

ответ

4

Plain JS:

lotOfThings.map(function(thing) { 
    return { name: thing.name, role: thing.role }; 
}); 
+0

Спасибо, я люблю простые варианты JS! – Rodmentou

+0

@Rodmentou спасибо! –

+0

Ты мне понравился, @ penne12, можем ли мы поговорить? [Это я] (https://plus.google.com/u/0/+RodrigoNascimentodeSouzaRodmentou) – Rodmentou

3

с использованием underscore.js

_.map(lotOfThings, 
    function(thing) { 
     return { name: thing.name, role: thing.role }; 
    } 
); 
+0

, если вам нужен только один атрибут, вы можете использовать функцию _.pluck, но для нескольких атрибутов вам нужно использовать _.map для всех элементов. – pwilmot

+0

Спасибо за ваш ответ. – Rodmentou

Смежные вопросы