记录一次简单的数组迭代方法

165 阅读1分钟
// 1.forEach()方法 
	// 定义:forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
	// 语法:array.forEach(function(currentValue, index, arr), thisValue);
	// 参数:
	//      currentValue:必需,表示当前元素。
	//      index:可选。表示当前元素的索引值。
	//      arr:可选。表示当前元素所属的数组对象。
    var arr1 = [1,2,3,4];
    arr1.forEach(function(val,index,arr){
    	console.log(val,index,arr);
    })
    // 原生
    for(var i = 0;i<arr1.length;i++){
    	console.log(arr1[i],i,arr1);
    }


    // 2.map()方法
    // 定义:map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
    // 语法:array.map(function(currentValue,index,arr), thisValue)
    var arr2 = [4,5,6,7];
    console.log(arr2.map(function(val,index,arr){
    	return val*2;
    }));


    // 3.every()方法
    // 定义:every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
    //      every() 方法使用指定函数检测数组中的所有元素:
	//      如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
	//      如果所有元素都满足条件,则返回 true。
    // 语法:array.every(function(currentValue,index,arr), thisValue)
    var arr3 = [1.2,2.3,3.4,4.5];
    console.log(arr3.every(function(val,index,arr){
    	return val>4;
    }));

    // 4.some()方法
    // 定义:some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
	//       some() 方法会依次执行数组的每个元素:
	//       如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
	//       如果没有满足条件的元素,则返回false。
	// 语法:array.some(function(currentValue,index,arr),thisValue)
	var arr4 = [1,2,3,4,5];
	console.log(arr4.some(function(val,index,arr){
		return val>3;
	}));

	// 5.fliter()方法
	// 定义:filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
	// 语法:array.filter(function(currentValue,index,arr), thisValue)
	var ages = [32, 33, 12, 40];
	console.log(ages.filter(function(val,index,arr){
		return val>31;
	}));