自学分享: JavaScript--数组的遍历方法和数组去重

14 篇文章 0 订阅

1.遍历方法

forEach(function( item,index,array) {})

item:数组元素,
index:可选,该元素对应的下标,
array:可选,遍历的数组本身

map(function( item,index,array) {})

*最常用 自己定义规则
遍历数组,并且根据新的规则返回新数组。
*item:数组元素,
*index:可选,该元素对应的下标
*array:可选,遍历的数组本身

filter(function(item,index,array){})

*筛选元素组,组成新的
遍历数组,并且根据规则返回符合条件的元素组成新数组。
如果没有符合条件的,就返回空数组。

find(function(item,index,array) {})

遍历数组,返回数组中满足条件的第一个值。
没有符合条件的undefined。

every(function(item,index, array))

遍历数组,如果数组中每个元素都满足条件,则返回true。

some(function(item,index,array){

遍历数组,数组中只要有一个符合条件就返回 true。
});

数组去重

方法一、循环比较有一样的时候就删除。

var arr1=['a','b','c','b','c','d','d'];
for( var i = 0; i<arr1.length;i++){
  for(var j = i +1; j<arr1.length;j++){
    if (arr1[i] === arr1[j]) { 
      //一样的时候就删除
      arr1.splice(j,1);
      j--;
    }
  }
}
console.log(arr1);

方法二、创建新数组 用indexOf去找 没有返回的-1就加进去(推荐使用,不会破坏原数组)

var newArr=[];
for(var i = 0;i<arr1.length;i++){
  if (newArr.indexOf(arr1[i]) == -1) {
    //用indexOf去找 没有返回的-1就加进去
    newArr.push(arr1[i])
  }
}
console.log(newArr)

方法三、Set
Set 是ES6中新增的数据结构、类似数组,但是里面没有重复的元素;

var list = new Set(['a', 'b ', 'a']);
console.log('通过size获取Set的长度: ',list.size);
list.delete('b');//s删除Set元素,而不是写下标
console.log(list.has('b'));
 //.has(value) 返回一个布尔值表示是否存在
console.log(list.clear)
//清空啦
console.log(list.keys()); //遍历- Set.keys -返回所有的键名
console.log(list.values);//遍历-Set.values()-返回所有键值
//备注:由于set结构没有键名,keys和 values行为一致。

查看数组的调用方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值