JavaScript forEach循环适用于除Internet Explorer之外的所有webbrowser

JavaScript forEach循环适用于除Internet Explorer之外的所有webbrowser,javascript,internet-explorer,foreach,Javascript,Internet Explorer,Foreach,除了InternetExplorer(它似乎不支持forEach)之外,我已经设法使循环在所有浏览器中都能工作 JavaScript cpde: function validate() { var msg = ''; var i = 0; arr.forEach( function validateinfo(){ if (getRBtnName('yesNo_' + i + '_0' == "" && 'yesNo

除了InternetExplorer(它似乎不支持forEach)之外,我已经设法使循环在所有浏览器中都能工作

JavaScript cpde:

function validate() {
    var msg = '';
    var i = 0;

    arr.forEach(
        function validateinfo(){
            if (getRBtnName('yesNo_' + i + '_0' == "" && 'yesNo_' + i + '_0') == "") {
                msg = 'Please select yes/no for all users'
            }
            if (msg == '') {
                return true;
            }
            is++;
        }
    )

    if (msg == '') {
        reloadpage();
    }

    if (msg != '') {
        alert(msg);
        return false;
    }
}


function reloadpage(){
    window.location.reload()
}
数组是在PHP文件中设置的,而不是传入的。正在使用以下方法进行设置:

<script type="text/javascript">
    var arr = <?php echo json_encode($arr) ?>;
</script>

var-arr=;
只需将其放在脚本开头:

if ( !Array.prototype.forEach ) {
  Array.prototype.forEach = function(fn, scope) {
    for(var i = 0, len = this.length; i < len; ++i) {
      fn.call(scope, this[i], i, this);
    }
  }
}
if(!Array.prototype.forEach){
Array.prototype.forEach=函数(fn,范围){
对于(变量i=0,len=this.length;i
只需将其放在脚本开头:

if ( !Array.prototype.forEach ) {
  Array.prototype.forEach = function(fn, scope) {
    for(var i = 0, len = this.length; i < len; ++i) {
      fn.call(scope, this[i], i, this);
    }
  }
}
if(!Array.prototype.forEach){
Array.prototype.forEach=函数(fn,范围){
对于(变量i=0,len=this.length;i
看看这里,注意到上面代码中的增量表示为++,但实际代码在脚本中表示为i++。您使用的是哪个版本的IE?注意,
Array.forEach
仅添加到IE9中;早期版本不支持它。(但是还有其他方法可以循环通过数组,所以这没什么大不了的)+1到@Pedro3M:虽然我想添加一个来查看评分最高的答案,但不是公认的答案:看看这里,刚才注意到上面代码中的增量表示为++,但实际代码在脚本中表示为I++。您使用的是哪个版本的IE?注意,
Array.forEach
仅添加到IE9中;早期版本不支持它。(但是还有其他方法可以循环数组,所以这没什么大不了的)+1到@Pedro3M:虽然我想补充一下,看看评级最高的答案,而不是公认的答案:@Found戏剧性什么
oO
FYI如果它是
++i
i++
for
的最后一节中没有区别,因为此代码在
for
块的最后一行之后单独执行。谢谢大家的帮助。我设法让它工作:)不得不改变了很多,但提供的链接和建议为我指明了正确的方向。谢谢again@user2610063如果答案对您有帮助,您可以通过单击左侧的勾号来接受它。@foundtraic What
oO
FYI如果它是
++i
i++
for
的最后一节中没有区别,因为此代码在
for
块的最后一行之后单独执行。谢谢大家的帮助。我设法让它工作:)不得不改变了很多,但提供的链接和建议为我指明了正确的方向。谢谢again@user2610063如果答案对您有帮助,您可以单击左侧的勾号接受答案。