How to iterate over a JavaScript object?

后端 未结 18 1960
失恋的感觉
失恋的感觉 2020-11-21 22:52

I have an object in JavaScript:

{
    abc: \'...\',
    bca: \'...\',
    zzz: \'...\',
    xxx: \'...\',
    ccc: \'...\',
    // ...
}

I

18条回答
  •  孤城傲影
    2020-11-21 23:07

    Here is a Hand Made Solution:

    function iterationForObject() {
        let base = 0,
            Keys= Object.keys(this);
        return {
            next: () => {
                return {
                    value: {
                        "key": Keys[base],
                        "value": this[Keys[base]]
                    },
                    done: !(base++ < Keys.length)
                };
            }
        };
    }
    Object.prototype[Symbol.iterator] = iterationForObject;
    

    And Then You Can Loop Any Object:

    for ( let keyAndValuePair of (Object Here) ) {
        console.log(`${keyAndValuePair.key} => ${keyAndValuePair.value}`);
    }
    

提交回复
热议问题