查找数组中元素的单次出现

2023-12-04

我正在尝试查找数组中元素的单次出现。但它只显示 1 个元素。逻辑哪里出了问题?

function findSingle(array){
  var arrayCopy = array.slice(0);
  var x;
  var y = [];

  for (var i = 0; i < array.length; i++) {
    x = arrayCopy.splice(i, 1)
    if(arrayCopy.includes(array[i]) === false){
      console.log(array[i] + " is single")
    }
    arrayCopy = arrayCopy.concat(x)
   }
 }

findSingle([1, 3, 3, 6])

您可以使用双数组.filter()删除多次出现的数字:

    function findSingle(arr) {
      return arr.filter(i => arr.filter(j => i === j).length === 1)
    }
    
    const result = findSingle([1, 3, 3, 6, 8, 4, 6])
    console.log(result) // [1, 8, 4]

请记住,这仅适用于数字和其他原语因为Javascript 评估相等性和相同性的方式.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找数组中元素的单次出现 的相关文章

随机推荐