使用filter和splice删除数组中的对象哪一个最好接近angular2?

问题描述 投票:4回答:3

嗨,我使用两种方法删除数组中的对象: - 拼接和过滤。

拼接代码在这里: -

(this.myArray).splice((this.myArray).indexOf(myobject), 1);

过滤代码: -

(this.myArray).filter(obj => obj !== myobject);

请告诉我们两者之间的差异,哪一个是最好的方法?

filter splice
3个回答
3
投票

检查this性能测试。它与Angular没什么关系,但更多的是JavaScript。如果你能够找到最快的方法:)


6
投票

我认为这里的主要区别是:

  • splice - 允许您从此特定数组中删除元素
  • filter - 不会触及输入数组,并将创建并返回新的过滤数组

角度与此无关,当谈到速度时,拼接会赢

和小测试作为证据https://jsperf.com/array-splice-vs-array-filter/1


3
投票

如果您知道使用splice的索引将是O(1)操作,而使用filter是O(n)操作。

© www.soinside.com 2019 - 2024. All rights reserved.