为了一个数组的删除操作竟然费了一个多小时,下面分享一下我的代码: 代码功能:判断数组里是否有我要看的元素,如果没有就添加到数组里,如果有就去掉. var selectArr=[]; function checkSelArr(selected){    var len=selectArr.length+1;   for(var i=0;i<len;i++){      if(selected == selectArr[i]){         selectArr.splice(i,1);     …
JS数组去掉重复元素,这里提供3中写法. var arr =[1,2,3,4,5,6,3,4,7,2,4,1,8]; 输出:[1,2,3,4,5,6,7,8]; 1.使用indexOf() arr.indexOf(a,b)这个方法是查找a在arr中首次出现的位置(b这个参数规定了在arr中开始检索的位置,可写可不写,不写的话检索位置为0). 利用这个方法来判断新数组中是否出现过这个元素,如果新数组中没有这个元素,那么把元素添加到新数组中,如果新数组中已经有这个元素了那就不进行操作,遍历之后得到的…
如何在JS数组特定索引处指定位置插入元素? 需求: 将一个元素插入到现有数组的特定索引处.听起来很容易和常见,但需要一点时间来研究它. // 原来的数组var array = ["one", "two", "four"];// splice(position, numberOfItemsToRemove, item)// 拼接函数(索引位置, 要删除元素的数量, 元素)array.splice(2, 0, "three");…
数组去重复是js中常用的方法,归纳了四种如下: 1. for + indexOf  去重复 var arr = [3,5,5,4,1,1,2,3,7,2,5]; var target = []; for(var i=0,len=arr.length;i<len;i++){ if( target.indexOf(arr[i])==-1 ){ target.push(arr[i]); } }; console.log(target); 2. forEach + indexOf 去重复 var arr…
Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: function unique(arr) { var result = [], isRepeated; for (var i = 0, len = arr.length; i < len; i++) { isRepeated = false; for (var j = 0, len = result.length; j < len; j++) { if (arr[i] == result[j]) { isRep…
function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // filtered is [12, 130, 44] function onlyUnique(value, index, self) { return self.indexOf(value) === index; } // usage example: var a = […
var arr1 = [90, 91, 92]; var arr2 = [80, 81]; var arr3 = [80, 71, 72, 73]; var arr = arr1.concat(50, 60, arr2, arr3); //console.log(arr1); //现有数组值不变 //console.log(arr); var result = unique(arr);// 去除数组中的重复值 console.log(result); function unique(arr) {…
前提:数组中的元素类型为:string 在网上看了许多高大尚的文章,还是解决不了我的string arry 的问题,只能怪自己脑残了,上代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"…
1 前言 由于使用JS的push会导致元素重复,而ES5之前没有set(集合)方法,重复元素还要做去重处理,比较麻烦些,所以直接写一个新push来处理 2 代码 Array.prototype.push2 =function(){ for(var i=0; i<arguments.length; i++){ var ele = args[i]; if(this.indexOf(ele) == -1){ this.push(ele); } } }; 说明:就是直接在Array方法原型上添加方法即可…
1. let arr = [1,2,1,2,3,5,4,5,3,4,4,4,4]; let result = arr.sort().reduce((init, current)=>{ if(init.length===0 || init[init.length-1]!==current){ init.push(current); } return init; }, []); console.log(result); //[1,2,3,4,5] 2. Array.prototype.distinc…