在js的数组中找出不重复的一个数

简介: 今天看到一个一个问题,怎样在一堆数组中 找到一个不重复的数值

 今天看到一个一个问题,怎样在一堆数组中 找到一个不重复的数值

我开始的想法是,写双重for循环,拿值一个个的去比对,和冒泡排序的思路是一样的,后面偶然间看到一个方法,思路很清晰,代码很简洁,现在是记录一下

functionfindLonelyDog(arr) {
for (leti=0; i<arr.length ; i++) { //正常for循环console.log(i,888)
if ((arr.indexOf(arr[i])) ==arr.lastIndexOf(arr[i])) {  //1,关键代码在于这,arr.indexof(arr[i])这段代码是用indexof的犯法,方法里面传入一个值,会检索这个值在数组的下标值,但是这里有一个问题,只会返回检索到第一个值的下标result=arr[i];                                    // 2,lastIndexOf(arr[i]) 这个方法和indexof的方法是一样的,只不过检索的方向不一样,indexof是从下标0开始,而lastindexof是从最后一个下标开始的。// 3,关键来了,当我从正序检索这个数据的下标,和我倒叙检索这个数据的下标,当正,倒序的下标相等了,是不是就能认为这个数是惟一的??//不是唯一不可能下标一样哈break;//终止 跳出循环                }
            }
returnresult;
        }

image.gif


相关文章
|
21天前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
|
2月前
|
JavaScript 前端开发 索引
JS遍历数组里数组下的对象,根据数组中对象的某些值,组合成新的数组对象
这篇文章介绍了如何在JavaScript中遍历数组里数组下的对象,并根据对象的某些属性值组合成一个新的数组对象。主要内容包括使用ES6的`for...of`循环来遍历数组对象,然后根据需要提取对象中的属性值,并将它们放入新的对象中,最终形成一个新的对象数组以供使用。
|
2月前
|
前端开发 JavaScript 开发者
【前端开发者的福音】彻底改变你编码习惯的神奇数组迭代技巧——从基础到进阶,解锁 JavaScript 数组迭代的N种姿势!
【8月更文挑战第23天】在Web前端开发中,数组是JavaScript中最常用的数据结构之一,掌握高效的数组迭代方法至关重要。本文详细介绍了多种数组迭代技巧:从基础的`for`循环到ES6的`for...of`循环,再到高阶方法如`forEach`、`map`、`filter`、`reduce`及`some`/`every`等。这些方法不仅能提高代码的可读性和维护性,还能有效优化程序性能。通过具体的示例代码,帮助开发者更好地理解和运用这些迭代技术。
26 0
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的遍历
关于JavaScript数组遍历基础知识的文章。
30 2
JavaScript基础知识-数组的遍历
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的练习
关于JavaScript基础知识中数组操作的练习,主要介绍了如何从一个包含Person对象的数组中过滤出成年人(年龄达到18岁及以上)并将他们放入一个新的数组中。
27 1
JavaScript基础知识-数组的练习
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的常用方法
关于JavaScript基础知识-数组的常用方法。
18 1
JavaScript基础知识-数组的常用方法
|
1月前
|
JavaScript 前端开发 索引
JavaScript基础知识-数组基于索引访问
关于JavaScript数组基于索引访问的基础知识介绍。
15 1
JavaScript基础知识-数组基于索引访问
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的定义方式
本文介绍了JavaScript中数组的多种定义方式。
17 1
JavaScript基础知识-数组的定义方式
|
16天前
|
JavaScript 前端开发
js删除数组最后一个元素
js删除数组最后一个元素
|
15天前
|
JavaScript 前端开发 索引