数组API---EVERY,some,foreach

 *****数组API
   判断方法:
  var bool=arr.every(fun):
用fun依次检查arr中每个元素,是否*都*符合条件
    var bool=arr.some(fun)
用fun依次检查arr中每个元素,是否*包含*符合条件


    其中: fun的三个参数: 
当前元素值value,当前元素位置index,正在检查的数组arr
 返回值: return 判断条件

    强调: 只要前一个元素已经可以得出最终结论,则退出循环

 修改数组元素: 
arr.forEach(function(value,index,arr){
   直接修改arr中index位置的元素值
   不需要返回值
        })
****创建数组,并复制原数组的内容,同时修改每个元素

eg:

<span style="font-size:18px;">//笔试
		<span style="background-color: rgb(255, 204, 204);">//every,some都是迭代,或者叫判断</span>
		//只要前一个元素已经得出最终结论,则退出循环
		var arr1=[2,4,6,8,10];
		var arr2=[1,2,3,4,5];
		var arr3=[1,3,5,7,9];
		//检查arr1,是否都是偶数
		/*var bool = arr1.every(function(value,index,arr){
			console.log("检查第"+index+"个");
			return value%2==0;
		});
		console.log(bool);
		var bool = arr1.some(function(value,index,arr){
			console.log("检查第"+index+"个");
			return value%2==0;
		});
		console.log(bool);
*/
		<span style="background-color: rgb(255, 204, 204);">/*修改数组元素*/</span>
		/*arr3.forEach(functioin(value,index,arr)){
			arr
		});*/

		<span style="background-color: rgb(255, 204, 204);">/*map的实现原理。笔试:会代码要手写,注释口述*/</span>
		if(Array.prototype.map===undefined){//this-arr3,当前正在变化的数组
			Array.prototype.map=function(fun){
				//先创建空数组arr
				var arr=[];
				//遍历当前数组中的每个元素
				for(var i=0;i<this.length;i++){
					//如果i 在当前数组中
					if(i in this){
					  //用undefined,借用函数fun,同时传入当前元素值,i,当前数组,将返回值保存到变量r中
						//var r =fun.call(undefined,this[i],i,this);
						//调用当前函数值
						var r=fun(this[i],i,this);
					}
					//将r保存到arr中i的位置
					r=arr[i];
				}
				//返回arr
				return r;
			}
		}
		//创建数组,复制原数组,对每个元素值进行加工
		var arr4=arr3.map(function(value,index,arr){
			return value*2;
		});
		docuemnt.write("<h1>"+String(arr3)+"</h1>");
		//docuemnt.write("<h1>"+String(arr4)+"</h1>");</span>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值