在javascript foreach循环中获取索引

时间:2016-09-20 13:26:24

标签: javascript foreach

在阅读文档的同时:MDN Array forEach我正在尝试将索引放在foreach循环中但只是没有得到它..

var BANG = {};

BANG.boom = function (arr) {
    this.array = arr;
    
    this.start = function() {
        Array.prototype.forEach.call(
            this.array,
            (function (blubb, index) {
                window.setInterval(
                    this.hello(blubb, index),
                    1500
                );
            }).bind(this)
        );
    };

    this.hello = function(blubb, index) {
        alert(blubb, index)
    };
};

xxx = new BANG.boom(['xxx', 'yyy', 'zzz']);
xxx.start();

我做错了什么?

1 个答案:

答案 0 :(得分:3)

它有效,但alert只接受一个参数,所以你没有看到它。 :)

var BANG = {};

BANG.boom = function (arr) {
    this.array = arr;
    
    this.start = function() {
        Array.prototype.forEach.call(
            this.array,
            (function (blubb, index) {
                window.setInterval(
                    this.hello(blubb, index),
                    1500
                );
            }).bind(this)
        );
    };

    this.hello = function(blubb, index) {
        alert(index+":"+blubb);    // only one argument
        console.log(index,blubb); // console does understand the comma
    };
};

xxx = new BANG.boom(['xxx', 'yyy', 'zzz']);
xxx.start();