ES6
一、利用Set去重
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
Set是es6新增的数据结构,似于数组,但它的一大特性就是所有元素都是唯一的,没有重复的值,我们一般称为集合。Set本身是一个构造函数,用来生成 Set 数据结构
<script>
function sole(arr) {
return Array.from(new Set(arr))
}
var arr = [1, 2, 3, 4, 1, 23, 4, 21, 2, 4, 1, 5]
document.write(sole(arr))
</script>
ES5
一、利用indexOf去重
indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。
<script>
function sole(arr) {
var Array=[]
for (var i = 0; i < arr.length; i++) {
if (Array.indexOf(arr[i])===-1) {
Array.push(arr[i])
}
}
return Array
}
var arr = [1, 2, 3, 4, 1, 23, 4, 21, 2, 4, 1, 5]
document.write(sole(arr))
</script>
string.indexOf(searchvalue,start)
| 参数 | 描述 |
|---|---|
| searchvalue | 必需。规定需检索的字符串值。 |
| start | 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。 |
二、利用sort去重
sort()方法用于对数组的元素进行排序。排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序。
<script>
function sole(arr) {
//如果不想改变数组顺序的话sort括号内不写函数,此方法是按数字从大到小重新排列数组)
arr = arr.sort(function (a, b) { return a - b })
var arrry = [arr[0]];
for (var i = 1; i < arr.length; i++) {
if (arr[i] !== arr[i - 1]) {
arrry.push(arr[i]);
}
}
return arrry;
}
var arr = [1, 2, 3, 4, 1, 23, 4, 21, 2, 4, 1, 5]
document.write(sole(arr))
</script>
array.sort(sortfunction)
| 参数 | 描述 |
|---|---|
| sortfunction | 可选。规定排序顺序。必须是函数。 |
三、利用splice去重
splice() 方法用于添加或删除数组中的元素。
function sole(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) { //如果当前等同于下一个,splice方法删除下一个
arr.splice(j, 1);
j--;
}
}
}
return arr;
}
var arr = [1, 2, 3, 4, 1, 23, 4, 21, 2, 4, 1, 5]
document.write(sole(arr))
array.splice(index,howmany,item1,…,itemX)
| 参数 | 描述 |
|---|---|
| index | 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。 |
| howmany | 可选。规定应该删除多少元素。必须是数字,但可以是 “0”。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。 |
| item1, …, itemX | 可选。要添加到数组的新元素 |
2456

被折叠的 条评论
为什么被折叠?



