小编kil*_*lex的帖子

检查某个元素是否只存在于一个数组中的更好方法

例如,我需要帮助创建一个函数来返回仅出现在 3 个数组之一中的元素

let arr1 = ['a', 'b', 'c', 'a', 'b']
let arr2 = ['a', 'd', 'b', 'c']
let arr3 = ['f', 'c', 'a']
Run Code Online (Sandbox Code Playgroud)

在上面的三个数组中,“d”和“f”仅在其中一个数组(arr2 和 arr3)中找到,我需要返回它们。

['d','f']
Run Code Online (Sandbox Code Playgroud)

数组的大小可以不同,并且返回的元素不能重复。

我试图找到更好的替代方案,但失败了,只是采用了暴力方法,循环遍历每个数组并检查该元素是否存在于其他两个数组中,但显然,它非常慢且难以读取。

function elementsInOnlyOneArr(a1, a2, a3) {

  let myArr = [];

  for(let el of a1){
    if(a2.includes(el) == false && a3.includes(el) == false && myArr.includes(el) == false){
      myArr.push(el);
    }
  }

  for(let el of a2){
    if(a1.includes(el) == false && a3.includes(el) == false && myArr.includes(el) == false){
      myArr.push(el);
    }
  }

  for(let el of …
Run Code Online (Sandbox Code Playgroud)

javascript arrays algorithm

29
推荐指数
4
解决办法
3133
查看次数

标签 统计

algorithm ×1

arrays ×1

javascript ×1