Patrón de diseño de JavaScript (4) -patrón de iterador

  El núcleo del patrón iterador es proporcionar una forma de atravesar cada elemento del objeto y realizar un procesamiento similar.

  Es lo que dice la gente: un método común de procesamiento de matrices. Como forEach, map, some, every y así sucesivamente, usualmente usamos para tratar con métodos de matriz para darles un nombre alto es iterador.

  En JavaScript, además de las matrices, los objetos ordinarios también se pueden atravesar por in, por lo que podemos escribir un iterador general para tratar con "objetos".

function iterator(obj,fn){
	if (Object.prototype.toString.call(obj) === "[object Array]") {
  	for(let i=0;i<obj.length;i++){
  		fn.call(null,obj[i],i)
  	}
  }else if(Object.prototype.toString.call(obj)==='[object Object]'){
     for(let i in obj){
     	fn.call(null,obj[i],i)
     }
  }else{
     throw new Error('请传入一个数组或对象')
  }
}
iterator([3,6,9],function(val,index){
	console.log(val,index)
})
iterator({
	'a':'aaa',
	'b':'bbb'
},function(val,key){
	console.log(val,key)
})

 

Supongo que te gusta

Origin blog.csdn.net/dkr380205984/article/details/108735645
Recomendado
Clasificación