indexOf() 使用方法(数组去重)】的更多相关文章

数组的indexOf方法 数组方法大家再熟悉不过了,却忽略了数组有 indexOf 这个方法(我个人感觉). 干说不练瞎扯淡,遇到了什么问题,注意⚠️点又在哪里? let arr = ['orange', '2016', '2016']; arr.indexOf( arr.indexOf('o'); //-1 arr.indexOf( arr.indexOf(2016); //-1 这里没把例子拆的那么细,四个用例足以说明问题. arr.indexOf(‘orange')  输出 0 因为 ‘o…
通过标签获取元素: var aLi = document.getElementsByTagName('Li'); aLi[0].style.backgroundColor = 'gold'; 选中部分li操作: var oList = document.getElementById('list01'); var aLi = oList.getElementByTagName('li'); alert(aLi.length); for循环: var oList = document.getElem…
在Javascript中,有时我们会用到数组去重.我在这里给大家介绍一下本人认为最简单实用的一种方法-indexOf()去重. var arr = [1,1,1,2,2,2,3,3,4,5,6,2,1]; var arr2 = []; for(var i = 0;i < arr.length;i++){ if(arr2.indexOf(arr[i]) == -1){ arr2.push(arr[i]) } } console.log(arr2) //[1,2,3,4,5,6] 它的原理非常的简单…
对于indexOf()的用法一直停留在查找第几个字符串,却不知道它能用到数组去重中,首先还是温顾下indexOf()的语法: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <!-- 1.indexOf() 方法对大小写敏感! 2.如果要检索的字符串值没有出现,则该…
[数组去重]本文一共总结了5种方法: //方法一:sort方法 var ary = [1, 4, 2, 3, 1, 2, 2, 3, 3, 2, 5, 2, 1, 2];Array.prototype.rmSame = function () {     var ary = this.sort(function (a, b) {         return a - b     });    for (var i = 0; i < ary.length; i++) {         if (a…
第一种方法:借助json对象来实现,若json对象中无该属性则添加,否则不添加,最后返回json对象的属性,时间复杂度为O(n) function deleteArrayRepeat(arr) { var result = {}; var temp = []; //将数组中各元素作为属性存到json对象中 for (var i = 0; i < arr.length; i++) { if (!result[arr[i]]) { result[arr[i]] = 0; temp.push(arr[…
这个老问题,网上普遍都有了,为什么要再写一遍呢,主要是为了记个笔记... 遍历时搜索结果数组 思路很明确,如下 新建一个数组存放结果 循环遍历原数组,对于每一个元素,在结果数组中搜索是否存在 若不存在则存入结果数组中,返回第二步,直到循环结束 代码就不上了,网上一大把. 这是最直接的方法,但由于嵌套了循环,效率不高. 先排序后比较 先将原数组进行排序 新建一个结果数组 遍历排序后的数组,比较第i个元素与结果数组的最后一个元素是否相等 如果不相等则存入结果数组 同不上代码. 速度是快了些,但返回的…
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.indexOf = Array.prototype.indexOf || function(item) { for (var i = 0, j = this.length; i < j; i++) { if (this[i] === item) { return i; } } return -1; } Ar…
废话不多说,直接拿干货! 先说说这个实例的要求:写一个方法实现数组的去重.(要求:执行方法,传递一个数组,返回去重后的新数组,原数组不变,实现过程中只能用一层循环,双层嵌套循环也可写,只做参考): 先给初学者解释一下什么叫数组去重(老鸟跳过):意思就是讲数组里面重复的元素去掉,比如说var arr = [3,2,4,2,1,2]; 数组去重得到的新数组是 [3,2,4,1],就是这么一个功能. 实现方法比较简单,实现的方式也比较多,很多大牛也写过相关的文章,之所以写这边博客,旨在一是备忘,二是给…
1.数组去重 /*方法一: 1,'1' 会被认为是相同的; 所有hash对象,如:{x;1},{y:1}会被认为是相同的 //10ms */ Array.prototype.unique=function(){ var newArr=[],obj={}; for(var i=0,len=this.length;i<len;i++){ if(!obj[this[i]]){ newArr.push(this[i]); obj[this[i]]=true; } } return newArr; } /…