2015-11-28 31 views
0

我想要减少NodeJS服务器的内存数组大小。在对象数组上划分对象的最高性能

我想只发送阵列中每个对象的'标题',减少网络流量。我在服务器上有此数组:

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

我想从所有对象中lotOfThings删除lotOfData并发送回用户只有这个:

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

我怎么能带好实现这一目标性能?

+0

使用underscore.js – pwilmot

+0

我有点被你所描述什么困惑。你正在寻找简单的'lotOfThings'的一个子集,还是你正在寻找'lotOfThings'中的每个项目减去'lotOfData'表示的不相关的键? – cmw

+0

lotOfThings中的每个项目减去由lotOfData表示的不相关的键。究竟。 – Rodmentou

回答

4

平原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