Typescript数组插入非重复项

时间:2016-10-24 08:38:21

标签: arrays typescript

我们是在2016年,所以,我想知道在考虑到性能和干净代码的情况下将非重复项插入数组的最佳方法。

编辑:

例如:

我的目标是:

obj = {id: 1, a: 2, b: 3, c: 4}

我的阵列arr:

arr.push(obj);

arr.push(obj); // Avoid this duplicate obj

谢谢。

1 个答案:

答案 0 :(得分:1)

语言中没有原生pushIfUnique,因此您必须选择:

(1)如果排序不重要只需使用Mapid(或其他)作为标识符。

(2)如果排序很重要,您可以使用Array.find编写一个小帮助函数。 E.g:

const pushIfUnique = (predicate, object, array) => {
  if (!array.find(item => predicate(object, item))) {
    array.push(object);
  }
};