问题是要在数组中找到唯一编号,例如[2,2,2,5]
。输出应为5,因为它是数组中的1个唯一元素。
我已经尝试过了:
function findUniq(arr) {
var b= arr[0];
var c;
for(var i=0; i<arr.length; i++)
{
if(arr[i]===b )
{
b=arr[i]
}
else
{
c=arr[i];
}
}
return c
console.log(findUniq([3, 5, 3, 3, 3]))
除非唯一编号是数组中的第一个元素,否则此方法工作正常。我该如何解决?
您可以使用indexOf
和lastIndexOf
来查看值是否在数组中多次出现(如果发生,它们将有所不同),如果是,则不是唯一值。使用filter
来处理数组:
let array = [2,2,2,5];
console.log(array.filter(v => array.indexOf(v) === array.lastIndexOf(v)));
array = [5,3,3,3,3];
console.log(array.filter(v => array.indexOf(v) === array.lastIndexOf(v)));
array = [4,4,5,4];
console.log(array.filter(v => array.indexOf(v) === array.lastIndexOf(v)));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句