去除数组中的重复元素
在一些场景中需要做到数组去重,下面从两种方法来介绍,一种是比较传统的,es6之前就已经出现的;另外一种是es6中的set()可以去除数组中的重复元素,下面我们列举出详细代码:
第一种方法:(indexOf)
//indexOf--数组去重
var array = [1,2,2,3,3,4];
var newArr = [];
for(var i=0;i<array.length;i++){
if(newArr.indexOf(array[i])== -1){
newArr.push(array[i]);
}
}
console.log(newArr); //[1,2,3,4]
第二种方法:(es6中的set())
//set数据结构,利用这个方法可以去除数组重复元素
const s = new Set();
[2,3,2,4,3,5].forEach(x=>s.add(x));//向新的数据结构s中添加值,但是并不会重复添加值
console.log(s); //{2,3,4,5}对象,对象中并没有重复值
例如删除b这个元素 ,前提不知道b在这个数组的下标
var arr = [‘a’,‘b’,‘c’,‘d’];
arr.splice($.inArray(‘b’,arr),1);
alert(arr);
jQuery如何根据元素值删除数组元素
jQuery.inArray和splice删除数组元素
不知道数组下标的情况下,删除数组对应元素。实例:
var arrays = [‘a’,‘b’,‘c’,‘d’];
arrays.splice($.inArray(‘c’,arrays),1);
alert(arrays);
结果: a,b,d;
jquery删除数组中的一个元素的方法是用splice实现的。
举例说明:
var arrList = [‘a’,‘b’,‘c’,‘d’];
arrList.splice(jQuery.inArray(‘b’,arrList),1);
alert(arrList);
其中jQuery.inArray(‘b’,arrList)是b这个元素在数组arrList 中的位置
splice(index,1)函数中第一个参数index是要删除元素在数组中的位置,第二个参数是要删除的数量。
Array对象的方法有:
concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素。
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素