数组的常用方法总结(二)

数组的常用方法总结

上篇文章介绍了数组的定义方法,这篇来总结一下数组的常用API
1. indexOf 查找某个元素在数组中出现的位置(第一个)
 语法: arr.indexOf(元素,[开始查找的起始下标]);
		//找不到返回-1
		
  var arr = [1,2,3,4,5,6];
  var res = arr.indexOf(3); 
  var res1 = arr.indexOf(7); 
  
  console.log(res)  打印结果:2    // 3对应的下标为2
  console.log(res1) 打印结果:-1  // 没找到
2. forEach 遍历数组
 语法: arr.forEach(function(数组的每一项, 对应下标, 当前数组){
			// 代码段
		});
         	
  var arr= [1,2,3,4,5,6];
  arr.forEach(function(value,index,brr){
      console.log(value + "--" + index);
      console.log(brr);
  });
  

打印结果:
在这里插入图片描述

3. map 将数组中的每个元素都让一个函数去处理,将处理后的每一个新元素组成一个新数组并返回
 语法:arr.map(function(v){
	     // 对v进行处理并返回处理后的每个v组成的数组
	   });
          
 	var arr = [10,20,30,40];
	var arr1 = arr.map(function(value){
		return value + value * 0.3
	});
  
  console.log(arr1);   打印结果:[13, 26, 39, 52] //返回新数组
4. filter 过滤数组元素,让满足条件的所有元素组成一个新数组并返回
 语法: arr.filter(function(数组的每一项, 对应下标, 当前数组){
			// 筛选条件
		});
          
	var arr = [10,20,30,40];
	var arr1 = arr.filter(function(value){return value>20;
	});
	
  console.log(arr1); 打印结果:[30, 40] //返回新数组
5. reduce 归并
其中调用回掉函数,回掉函数中有两个参数,第一个参数是上一次操作的返回值,
第二个参数是从第二个元素开始到最后一个元素
 语法: arr.reduce(function(prev,next){
			// 逻辑代码
		});
          
	var arr = [10,20,30,40];
	var res = arr.reduce(function(prev,next){
	document.write("prev----------next<br>");
	document.write(prev + "----------" + next + "<br>");
	return prev + next;
	});
  
  console.log(res); 打印结果: 100 //总和

在这里插入图片描述

6. some 方法先遍历数组,如果至少有一个元素满足条件,则返回true,否则返回false。
 语法: arr.some(function(数组的每一项,对应下标){
			// 逻辑代码
		});
          
	var arr = [1,2,3,4,5,6];
	var res = arr.some(function(item,index){
	    if(item>5){
	        return true;
	    }else{
	        return false;
	    }
	});
	
	console.log(res);  打印结果:true //有一个条件满足
	
	再例如:
	var i = 0;
	[1,2,3].some(function(item,idx){
	    i = idx;
	    return item == 5;
	})
	
	console.log(i);  打印结果:2 //遍历完了还没找到5,输出最后一个值的下标(3的下标2)
7. every 方法先遍历数组,判断所有元素是否满足条件,返回布尔值
 语法: arr.every(function(数组的每一项,对应下标){
			// 逻辑代码
		});
          
	var arr = [2,3,4,5,6];
	var res = arr.every(function(item){
		return item>1;
	});
	
	console.log(res);  打印结果:true // 所有条件都满足
8. find 方法返回数组中满足条件的第一个值,找不到元素则返回false,找到了就返回这个值
 语法: arr.find(function(数组的每一项,对应下标,此数组){
			// 逻辑代码
		});
          
	var arr = [2,4,6,10,15,21];
	var f = arr.find(function(element, index, array){
    	return element > 10;
	});
	
	console.log(res);  打印结果:console.log(f); 15 // 找到了,返回满足条件的第一个值
9. findIndex 方法返回数组中满足条件的第一个值的下标,找不到元素则返回­1
 语法: arr.findIndex(function(数组的每一项,对应下标,此数组){
			// 逻辑代码
		});
          
	var arr = [2,4,6,10,15,21];
	var f = arr.findIndex(function(element, index, array){
	    return element > 10;
	});
	
	console.log(res);  打印结果:console.log(f); 4 //找到了,返回满足条件的第一个的下标
10. of 将一组值转换成数组,类似于声明数组
 语法: Array.of(要转换的值);
          
	let str = 'shuzu'
	console.log(Array.of(str))   打印结果: ['11']
	
	等价于
	console.log(new Array('shuzu'))  打印结果: ['shuzu']
	
	// 但是有点区别
	console.log(new Array(2))   // [empty × 2]  是个空数组,但是length是2
	console.log(Array.of(2))    // [2]

总结

点击查看 其他数组的常用方法:
数组的常用方法改不改变原始数组很关键

    push()
    pop()
    unshift()
    shift()
    concat()-----💢不改变原始数组
    splice()
    slice()------💢不改变原始数组
    sort()
    reverse()
    join()-------💢不改变原始数组
温馨提示:本人原创文章,如果存在错误或者表达不当之处,还望及时告知😊
  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值