91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ES6 Iterator接口和for...of循環用法分析

發布時間:2020-09-17 15:51:16 來源:腳本之家 閱讀:95 作者:xiaxiaoxian 欄目:web開發

本文實例講述了ES6 Iterator接口和for...of循環用法。分享給大家供大家參考,具體如下:

<script>
// 數組已經幫我們內置這個Iterator接口
let arr = ['hello','world'];
let map = arr[Symbol.iterator](); // 數組直接調用iterator接口,返回一個對象map
console.log(map.next()); // {value: "hello", done: false} done:循環沒有下一步狀態:true沒有,false:有狀態,循環并沒有結束
console.log(map.next()); // {value: "world", done: false}
console.log(map.next()); // {value: undefined, done: true}
</script>

運行結果:

ES6 Iterator接口和for...of循環用法分析

for...of循環,就是不斷的調用Iterator接口。

object數據結構沒有實現Iterator接口。

自定義實現object的Iterator接口

<script>
let obj ={
  start: [1,5,7],
  end:[8,4,3],
  [Symbol.iterator](){
   let self = this;
   let index = 0;
   let arr = self.start.concat(self.end);
   let len = arr.length;
   return {
    next(){
     if(index<len){
      return{
       value:arr[index++],
       done:false
      }
     }else{
      return {
       value:arr[index++],
       done:true
      }
     }
    }
   }
  }
}
for(let key of obj){ // for...of 背后用的就是iterator接口
  console.log(key); // 1 5 7 8 4 3
}
</script>

運行結果:

ES6 Iterator接口和for...of循環用法分析

<script>
let arr = ['xixiaoxian','jamin'];
for(let value of arr){
  console.log(value); // xixiaoxian  jamin
}
</script>

運行結果:

ES6 Iterator接口和for...of循環用法分析

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卢氏县| 钟山县| 资兴市| 易门县| 涞水县| 安图县| 夏邑县| 兴化市| 靖西县| 三穗县| 仪征市| 江口县| 伊春市| 汶川县| 玉环县| 马山县| 堆龙德庆县| 区。| 宝坻区| 肇庆市| 宣威市| 栾城县| 睢宁县| 桐庐县| 建德市| 濉溪县| 全椒县| 正定县| 文山县| 隆安县| 固安县| 礼泉县| 如皋市| 澄城县| 清流县| 博湖县| 水城县| 抚顺县| 石阡县| 大名县| 武城县|