• es6的Iterator(迭代器)


    es6的Iterator(迭代器)

    迭代器允许每次访问数据集合的一个元素,当指针指向数据集合最后一个元素是,迭代器便会退出。它提供了 next() 函数来遍历一个序列,这个方法返回一个包含 done 和 value 属性的对象。
    var arr = [1,2,3,4,5,6];
    	for(var i = 0;i<arr.length;i++){
    		console.log(arr[i]);
    	}
    	//迭代器    提升  访问具有接口数据的效率
    	//迭代器  他用来访问具有遍历接口数据的,它有一个next(理解指针-1)方法
    	//next 将当前指针移到下一个位置,返回一个对象{value:,done:}
    	//使用迭代器
    	//可遍历接口
    	var iter = arr[Symbol.iterator]();
    	console.log(iter.next());
    	console.log(iter.next());
    	console.log(iter.next());
    	console.log(iter.next());
    	console.log(iter.next());
    	console.log(iter.next());
    	console.log(iter.next());
    
    	//哪些数据有    遍历接口  
    
    	//数组   Map    Set   类数组
    	var obj = {};
    	console.log(obj);//没有接口
    
    	var s = new Set([1,2,3]);
    	console.log(s);//有接口
    	let itera = s[Symbol.iterator]();
    	console.log(itera.next());
    
    	var m = new Map([["age,23"],["sex","女"]]);
    	m.set("name","姜姜");
    	console.log(m);
    	
    	var i = m[Symbol.iterator]();
    	console.log(i.next());
    	console.log(i.next());
    	console.log(i.next()); 
    
    	let tags =document.getElementsByName("div");
    	console.log(tags);
    

    自定义的迭代器
    
    var arr = [1,2,3,4,5,6];
    
    function Iterator(arr){
    	let i = -1;
    	function next(){
    		i++;
    		let value;
    		let done = false;
    		if(i == arr.length) {
    			value = undefined;
    			done = true;
    		}else{
    			value = arr[i];
    		}
    		return {valye:arr[i],done:done};
    	}
    	return {next:next};
    }
    
    let iter =Iterator(arr);
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    

  • 相关阅读:
    matplotlib.pyplot.gca().set_xlim(初始值,末值) 与 matplotlib.pyplot.xticks()的区别
    MySql学习-5.查询2
    MySql学习-4.查询1
    SQL函数学习(一):substring()函数
    SQL函数学习(二):DATEADD() 函数
    SQL函数学习(三):convert()函数
    sql标识符和格式
    PIVOT就是行转列,UNPIVOT就是列传行
    行列转换之静态、动态、PIVOT方法
    sql Server函数大全
  • 原文地址:https://www.cnblogs.com/jianghongyan/p/7201647.html
Copyright © 2020-2023  润新知