js 数组有回调函数的(方法)

foreach()
map()
filter()
every()

foreach()//遍历

	<script>
	   var array={
		   0:2,
		   1:1,
	       length:2, 
		   currentValue:function(ii){
			   //参数是下标
			   //返回一个属性值
			   return array[ii]
		   },
		   index:function(ii){
			   //参数 下标
			   //当前正在处理的下标索引
			   //返回下标的索引
			   return ii;
		   },
		   array :function(){
			   //参数正在操作的数组
			   return this
		   },
			forEach:function(ii){
				for(var i=0;i<this.length;i++){
					ii(this.currentValue(i),
					   this.index(ii),
					   this.array()
					)
				}
			}
	   }
	   
	  console.log(array.forEach(function(ii,iii,iiii){
		  	console.log(ii)
		  	console.log(iii)
		  	console.log(iiii)
	  }))
  //       var i=[1,2,3]
		// i.forEach(function(ii,iii,iiii){
		// 	console.log(ii)
		// 	console.log(iii)
		// 	console.log(iiii)
		// })
	</script>

map()//返回一个性数组增值

		<script>
			var array = {
				0: 2,
				1: 1,
				length: 2,
				
				currentValue: function(ii) {
					//参数是下标
					//返回一个属性值		   
					return this[ii]
				},
				index: function(ii) {
					//参数 下标
					//当前正在处理的下标索引
					//返回下标的索引
					return ii;
				},
				array: function() {
					//参数正在操作的数组
					return this
				},
				map: function(ii) {
					var iii = {
						length: 0,
					}
					for (var i = 0; i < this.length; i++) {
						// 吧计算后的值赋值给性数组
						iii[i] = ii(this.currentValue(i),
							this.index(i),
							this.array()
						)
						iii.length += 1;
					}
					return iii;
				},
			}
			
			//   字左版本  bug
			  //  return 这个关键字链我调用的函数都给我推出去了
			var i = array.map(function(ii, iii, iiii) {
				return ii * ii;
			})
			console.log(i)
			//  标准版本
			//       var i=[1,2,3]
			// var ii=i.map(function(x,iii,iiii){
			// 	// console.log(ii)
			// 	// console.log(iii)
			// 	// console.log(iiii)
			// 	return x*iii;
			// })
			// console.log(ii)
		</script>

filter()//返回在区间范围只能的数组

	<body>
		<script>
			var array = {
				0: 2,
				1: 1,
				length: 2,
				
				currentValue: function(ii) {
					//参数是下标
					//返回一个属性值		   
					return this[ii]
				},
				index: function(ii) {
					//参数 下标
					//当前正在处理的下标索引
					//返回下标的索引
					return ii;
				},
				array: function() {
					//参数正在操作的数组
					return this
				},
				filter: function(ii) {
					var iii = {
						length: 0,
					}
					for (var i = 0; i < this.length; i++) {
						//  是正的花就赋值 假的花就不复制
					    var bu= ii(this.currentValue(i),
							this.index(i),
							this.array()
						)
						if(bu){
							iii[i]=this[i]
							iii.length += 1;
						}
						
					}
					return iii;
				},
			}
			
			//   字左版本  bug
			// 
			var i = array.filter(function(ii, iii, iiii) {
				return ii<2;
			})
			console.log(i)
			//  标准版本ii
			//       var i=[1,2,3]
			// 	var ii=  i.filter(function(ii,iii,iiii){
			// 		  console.log(ii)
			// 		  console.log(iii)
			// 		  console.log(iii)
			// 		  return ii<3;
			// 	  })
			// console.log(ii)
		</script>
	</body>

every()//检测是否都能通过测试

		<script>
			var array = {
				0: 2,
				1: 1,
				length: 2,
				
				currentValue: function(ii) {
					//参数是下标
					//返回一个属性值		   
					return this[ii]
				},
				index: function(ii) {
					//参数 下标
					//当前正在处理的下标索引
					//返回下标的索引
					return ii;
				},
				array: function() {
					//参数正在操作的数组
					return this
				},
				reduce: function(ii) {
					var iii = {
						length: 0,
					}
					for (var i = 0; i < this.length; i++) {
						//  是正的花就赋值 假的花就不复制
					    var bu= ii(this.currentValue(i),
							this.index(i),
							this.array()
						)
						if(!bu){
							return false
						}

						
					}
					return true;
				},
			}
			
			//   字左版本  bug
			// 
			// var i = array.filter(function(ii, iii, iiii) {
			// 	return ii<2;
			// })
			// console.log(i)
			//  标准版本ii
			//       var i=[1,2,3]
			// 	var ii=  i.reduce(function(ii,iii,iiii){
			// 		  console.log(ii)
			// 		  console.log(iii)
			// 		  console.log(iii)
			// 		  return ii+iii;
			// 	  })
			// console.log(ii)
		</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在HTML中,数组回调函数可以用于处理多个元素或事件的情况。 数组可以用来存储和操作一组相似的元素,例如一组按钮或一组图像。在HTML中,可以通过JavaScript创建一个数组,并使用索引来访问数组中的元素。例如,以下代码创建了一个包含三个按钮的数组,然后使用for循环在页面上创建这些按钮: ```html <button id="btn1">Button 1</button> <button id="btn2">Button 2</button> <button id="btn3">Button 3</button> <script> const buttons = [ document.getElementById('btn1'), document.getElementById('btn2'), document.getElementById('btn3') ]; for (let i = 0; i < buttons.length; i++) { buttons[i].addEventListener('click', function() { console.log('Button ' + (i+1) + ' clicked!'); }); } </script> ``` 在上面的代码中,我们首先创建一个包含三个按钮元素的数组,然后使用for循环为每个按钮添加一个点击事件监听器。当任何一个按钮被点击时,回调函数会被调用并输出一个消息到控制台,显示哪个按钮被点击了。 回调函数在HTML中也经常被用来处理异步操作,例如在加载外部资源(如图像或脚本)时。在这种情况下,我们通常使用一个回调函数来处理资源的加载完成事件。例如,以下代码使用回调函数来在图像加载完成后更新页面上的图像元素: ```html <img id="myImage" src="placeholder.jpg"> <script> const img = document.getElementById('myImage'); img.addEventListener('load', function() { console.log('Image loaded!'); }); img.src = 'https://example.com/image.jpg'; </script> ``` 在上面的代码中,我们首先创建一个图像元素,并将其源文件设置为占位符图像。然后,我们为图像的加载完成事件添加了一个回调函数。最后,我们将图像的源文件更新为实际图像的URL。当图像加载完成后,回调函数会被调用并输出一个消息到控制台。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值