具体返回的对象属性
可以说我有对象具体返回的对象属性
var x = [{
a:'asd',
b:'ss'
},{
a:'s',
b:'f',
c:'asd'
},{
a:'tt',
g:'f',
b:'ulaN'
}];
的数组,我想返回对象的数组,使用对象只具有a
和b
属性。
我解决了这个与
x = x.map(y => {
return {
a:y.a,
b:y.b
}
});
但似乎不太efficent在我看来,有没有更好的方式该怎么办呢?
你当然可以这样做缩短这个代码:
x = x.map(y => ({
a: y.a,
b: y.b
}));
通过...删除一个新行和一个'return'语句。我真的不明白这是如何回答这个问题的。另一方面,我不完全确定问题的答案是什么,因为它最好是模糊而宽泛的。 – vlaz
同意,从代码性能的角度来看,它不是更高效。这只是较为冗长。我认为从性能的角度来看,代码不会很容易变得更高效,因为不管你做什么,它都是'O(n)',根据我的知识这是无法改进的。由于每个数组项都是一个对象(hashmap),所以对单个键的查找是'O(1)',并且有'n'个项,意味着'O(n)'。这是不可能的,因为从内存中读取一个大数组需要'O(n)'时间。 –
是的。代码可能不太详细,但我的观点是,我认为这不值得一个单独的答案。表现的东西也是正确的。除非OP可以指定_what_效率低以及为什么需要改进,否则我不认为这是可以回答的问题。目前最好的情况是微不足道的微观优化。 – vlaz
这是为什么效率低? – JordanHendrix