数组的操作方法

ES5新增的方法中,都没有改变原数组

1. arr.indexOf()方法

        功能:根据数据,查索引

        参数:要查询的数据( 必须是数组中的数据,否则输出 -1 )

var arr = [20,13,11,8,0,11];
arr.indexOf(11); //返回第一个11的索引:2
arr.indexOf(2); //返回-1

2.arr.forEach( function (val,index,arr) ) { }

功能:遍历数组

参数:形参1:数组中的数据

          形参2:索引

          形参3:数组本身

var arr = [20,13,11,8,0,11];
var min = arr[0]; //假设数组的第一个元素的为最小值

arr.forEach(function(val,index,arr){

	//练习一:输出数组的每个元素及其对应的下标
	console.log(index,val); 
	
	//练习二:输出数组中值为奇数的元素
	if(val%2){ 
		console.log(val); 
	}
	
	//练习三:求数组的最小值
	if(val<min){
		min = val;
	}
})
alert(min);

3.arr.map( function ( val,index,arr ) ) { }

功能:遍历数组,并将修改后的新数据放在一个数组中返回

参数:函数(数据,索引,数组本身)

返回值:长度等同于老数组的新数组,新数组的元素值是每次函数return的返回值

var arr = [20,13,11,8,0,11];
var brr = arr.map(function(item)){

	//练习一:将数组的每个元素都将增加到原来的1.2倍
	return item*1.2;
	// 此时brr为a数组每个元素的1.2倍

	//练习二:若return 1,则新数组的每个元素值均为1
	return 1;
}

4.arr.filter()

功能:遍历数组,并过滤数组中的数据,返回一个新数组

参数:函数

var arr = [20,13,11,8,0,11];
var brr =arr.filter(function(item)){
	//返回值为奇数的元素
	return item%2;
}

5.arr.some()

功能:遍历数组,并查询数组中的数据是否匹配条件

参数:回调函数

返回值:布尔值,只要回调函数返回一个true,就是true

var arr = [20,13,11,8,0,11];
var brr = arr.some(function(item){
	return item>10;
})
alert(brr); //true

 6.arr.every()

功能:遍历数组,并查询数组中的数据是否匹配条件

参数:回调函数

返回值:布尔值,回调函数必须全部返回true,才为true

var arr = [20,13,11,8,0,11];
var brr = arr.every(function(item){
	return item>10;
})
alert(brr); //false

7.arr.reduce()

功能:;遍历,归并

参数:回调函数

返回值:最后一次函数调用的返回值,不写return返回undefined

var arr = [1,4,5,7,8,10];
var res = arr.reduce(function(prev,next){
	console.log(prev+"---"+next);
	return prev+next;
})
console.log(res);

/*
分析:
一开始,prev代表数组第一个元素,next指向数组第二个元素  1---4
函数有个返回值,会作为下次的prev值
5---5  返回10
10---7  返回17
17---8  返回25
25---10   返回35
*/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值