如何从元素数组中删除元素

时间:2018-04-19 15:05:23

标签: javascript arrays typescript

我在utils.ts中创建了一个方法来删除数组中的元素。

public static deleteElementFromArray<T>(list: T[], element: T): T[] {
    if (!list) {
      return [];
    }
    const index = list.indexOf(element);
    if (index > -1) {
        list.splice(index, 1);
    }
    return list;
}

我的一位朋友告诉我,他使用filter来过滤列表并排除元素。

users = users.filter(u => u !== toto);

我想知道你对此的看法,以及你是否有更好的解决方案

2 个答案:

答案 0 :(得分:0)

要么解决方案都没问题,可以在这里找到更详细的答案: How do I remove a particular element from an array in JavaScript?

请考虑匿名函数'=&gt;'的表示法可能无法在其他浏览器中实现。

答案 1 :(得分:0)

  • splice - 从数组中删除元素
  • 过滤器 - 不修改原件 数组并将创建新的过滤数组

请看这个链接:https://medium.com/@justintulk/javascript-performance-array-slice-vs-array-filter-4573d726aacb
测试:https://jsperf.com/array-splice-vs-array-filter/1