首頁 > web前端 > js教程 > 主體

ES6中Iterator介面的程式碼範例講解

不言
發布: 2018-10-29 15:18:20
轉載
1945 人瀏覽過

這篇文章帶給大家的內容是關於ES6中Iterator介面的程式碼範例講解,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

es6中,當操作某些資料結構(array object map set)時,怎麼用一個統一的方法操作,Iterator介面實作了這樣的功能

1 .Iterator在陣列中的應用

{
    let arr = ['hello', 'world'];
    // 数组内部实现了iterator接口,所以直接调用[Symbol.iterator]()
    let map = arr[Symbol.iterator]();
    console.log(map.next()); // {value: "hello", done: false}
    console.log(map.next()); // {value: "world", done: false}
    console.log(map.next()); // {value: undefined, done: true}
    // value 表示数组元素,done表示循环是否有下一步状态,true:没有下一步了,false:循环没有结束
}
登入後複製
登入後複製

2.自訂Iterator介面

{
    // object没有内置iterator接口,自定义iterator接口,让obj也可以使用for...of
    let obj = {
        start: [1,2,3],
        end: [4,5,6],
        // 声明iterator接口方法
        [Symbol.iterator]() {
            // 先遍历start,再遍历end
            let arr = this.start.concat(this.end);
            let index = 0;
            // 返回next()
            return {
                next() {
                    if (index <p><strong>#3.for...of迴圈</strong> </p><pre class="brush:php;toolbar:false">{
    // 数组内部实现了iterator接口,所以可以直接使用for...of循环
    let arr = ['hello', 'world'];
    for (let value of arr) {
        console.log(value); // hello world
    }
}
登入後複製

               








                                                                                                      26ES6中Iterator介面的程式碼範例講解#                                                           發佈於                                                                                                                                                                 ##                                                                                                                                               

  •                                                                   

    #
  • 【ES6入門13】:Iterator

  • #「」##########es6########################################################################################### #######javascript###

                                        閱讀                                                 ·                                                作用內使用 6 分鐘                                                                                    




  • ES6中Iterator介面的程式碼範例講解

#                            

0

#                        







##################################################                        #######                        #######                        #######                        #######                        ####### ###############es6中,當操作某些資料結構(array object map set)時,怎麼用一個統一的方法操作,Iterator介面實作了這樣的功能#### #####1.Iterator在陣列中的應用######
{
    let arr = ['hello', 'world'];
    // 数组内部实现了iterator接口,所以直接调用[Symbol.iterator]()
    let map = arr[Symbol.iterator]();
    console.log(map.next()); // {value: "hello", done: false}
    console.log(map.next()); // {value: "world", done: false}
    console.log(map.next()); // {value: undefined, done: true}
    // value 表示数组元素,done表示循环是否有下一步状态,true:没有下一步了,false:循环没有结束
}
登入後複製
登入後複製
#######2.自訂Iterator介面######
{
    // object没有内置iterator接口,自定义iterator接口,让obj也可以使用for...of
    let obj = {
        start: [1,2,3],
        end: [4,5,6],
        // 声明iterator接口方法
        [Symbol.iterator]() {
            // 先遍历start,再遍历end
            let arr = this.start.concat(this.end);
            let index = 0;
            // 返回next()
            return {
                next() {
                    if (index ######3.for.. .of循環######<pre class="brush:php;toolbar:false">{
    // 数组内部实现了iterator接口,所以可以直接使用for...of循环
    let arr = ['hello', 'world'];
    for (let value of arr) {
        console.log(value); // hello world
    }
}
登入後複製
###               ##################################### #################檢舉################################################################## ###################你可能感興趣的########################## ###################評論####                                                 時間排序########################載入中...######顯示更多註解######## ###################

以上是ES6中Iterator介面的程式碼範例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!