当前位置:  开发笔记 > 编程语言 > 正文

返回在数组中没有重复项的唯一元素

如何解决《返回在数组中没有重复项的唯一元素》经验,为你挑选了1个好方法。

我试图返回一个只有唯一元素的数组,这些元素在数组中没有重复,没有特定的顺序.

[1,2,3,3,3,4,4,2] 会回来的 1

["hello", "truck", 2, "truck", 2, "truck"] 会回来的 "hello"

到目前为止,我只能使用filter()函数返回唯一元素,但我不知道该去哪里.

基本上如果有重复项,我希望从数组中删除这两个值.

这听起来很简单,但我有一个严重的心理打嗝.

以下是我的代码:

function diff(arr1, arr2) {
  var newArr = [];

   newArr = arr1.concat(arr2);

   newArr = newArr.filter(function(elem, index, self) {
        return index == self.indexOf(elem);
    });

    console.log(newArr);
    return newArr;

}

diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
//should return 4

void.. 6

比较indexOflastIndexOf,如果它们相等则元素没有重复.使用.filter此逻辑.

function diff(arr1, arr2) {
  return arr1.concat(arr2).filter(function(elem, index, self) {
    return self.indexOf(elem)==self.lastIndexOf(elem);
  });
}

alert(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]));



1> void..:

比较indexOflastIndexOf,如果它们相等则元素没有重复.使用.filter此逻辑.

function diff(arr1, arr2) {
  return arr1.concat(arr2).filter(function(elem, index, self) {
    return self.indexOf(elem)==self.lastIndexOf(elem);
  });
}

alert(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]));
推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有