Javascript 返回具有特定属性的对象
假设我有一个对象数组Javascript 返回具有特定属性的对象,javascript,object,Javascript,Object,假设我有一个对象数组 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 } }); 但在我看来,这似乎不是很有效,有没有更好的方
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
}
});
但在我看来,这似乎不是很有效,有没有更好的方法可以做到这一点?您当然可以通过以下方式缩短此代码:
x = x.map( y => ({
a: y.a,
b: y.b
}));
为什么效率很低?通过删除新行和
return
语句。我真的不明白这是怎么回答这个问题的。另一方面,我不完全确定这个问题的答案是什么,因为它充其量只是一个模糊而宽泛的问题。我同意,从代码性能的角度来看,它没有任何效率。只是没那么冗长。我认为从性能的角度来看,代码不容易变得更高效,因为无论你做什么,它都是O(n)
,据我所知,这是无法改进的。由于每个数组项都是一个对象(hashmap),因此对单个键的查找是O(1)
,并且有n
项,意思是O(n)
。要改善这一点是不可能的,因为从内存中读取一个大数组已经花费了O(n)
时间。是的。代码可以不那么冗长,但我的观点是,我认为这不值得单独回答。性能方面的东西也是正确的。除非OP能说明什么是低效的以及为什么需要改进,否则我不认为这是可以回答的问题。目前最好的情况是不重要的微小优化。