资讯专栏INFORMATION COLUMN

Javascript 数组循环遍历之forEach

nicercode / 1394人阅读

摘要:是中遍历数组的方法,大部分人常用循环来遍历数组,现在我们来看一下的用法。兼容性和的类型都有的函数。

forEach是javascript中遍历数组的方法,大部分人常用for()循环来遍历数组,现在我们来看一下forEach的用法。

兼容性

Firefox 和Chrome 的Array 类型都有forEach的函数。使用如下:

  

但是在IE中却没有forEach这个方法 :alert(Array.prototype.forEach); //undefined

但是我们可以使用如下方法来让IE兼容这个forEach:

//Array.forEach implementation for IE support..  
//https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach  
if (!Array.prototype.forEach) {  
    Array.prototype.forEach = function(callback, thisArg) {  
        var T, k;  
        if (this == null) {  
            throw new TypeError(" this is null or not defined");  
        }  
        var O = Object(this);  
        var len = O.length >>> 0; // Hack to convert O.length to a UInt32  
        if ({}.toString.call(callback) != "[object Function]") {  
            throw new TypeError(callback + " is not a function");  
        }  
        if (thisArg) {  
            T = thisArg;  
        }  
        k = 0;  
        while (k < len) {  
            var kValue;  
            if (k in O) {  
                kValue = O[k];  
                callback.call(T, kValue, k, O);  
            }  
            k++;  
        }  
    };  
}  

凡是有循环的地方,都会涉及到跳出循环的情况,那么forEach如何跳出循环呢?
Js此种状况的forEach不能使用continue, break;可以使用如下两种方式:

if 语句控制

return (return true/return false) return --> 类似continue

例子:取出数组中3的倍数和7的倍数的数

  

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84179.html

相关文章

  • js遍历for forEach in of

    摘要:语法参数当前遍历项。遍历的范围在第一次调用前就会确定。已删除的项不会被遍历到。的是由提出的,目的是作为遍历所有数据结构的统一方法。不仅可以遍历数组,还可以遍历结构,某些类似数组的对象如对象对象,对象,以及字符串。 即使是最简单的循环,其中也深藏学问 ECMAScript5(es5)有三种for循环 简单for for in forEach ECMAScript6(es6)新增 fo...

    yeyan1996 评论0 收藏0
  • JavaScript专题jQuery通用遍历方法each的实现

    摘要:语法为回调函数拥有两个参数第一个为对象的成员或数组的索引,第二个为对应变量或内容。但是对于的函数,如果需要退出循环可使回调函数返回,其它返回值将被忽略。 JavaScript 专题系列第十一篇,讲解 jQuery 通用遍历方法 each 的实现 each介绍 jQuery 的 each 方法,作为一个通用遍历方法,可用于遍历对象和数组。 语法为: jQuery.each(object,...

    blankyao 评论0 收藏0
  • ES6语法可迭代协议和迭代器协议

    摘要:有两个协议可迭代协议和迭代器协议。为了变成可迭代对象,一个对象必须实现或者它原型链的某个对象必须有一个名字是的属性迭代器协议该迭代器协议定义了一种标准的方式来产生一个有限或无限序列的值。 ECMAScript 2015的几个补充,并不是新的内置或语法,而是协议。这些协议可以被任何遵循某些约定的对象来实现。有两个协议:可迭代协议和迭代器协议。 可迭代协议 可迭代协议允许 JavaScri...

    sarva 评论0 收藏0
  • 给初学者:JavaScript数组操作注意点

    摘要:使用遍历数组有三点问题遍历顺序不固定引擎不保证对象的遍历顺序。作为原生函数,和自身操作字符串的速度是很快的。由于没有返回值返回,所以它的回调函数通常是包含副作用的,否则这个写了毫无意义。接受一个回调函数,你可以提前,相当于手写循环中的。 不要用 for_in 遍历数组 这是 JavaScript 初学者常见的误区。for_in 用于遍历对象中包括原型链上的所有可枚举的(enumerab...

    tianyu 评论0 收藏0
  • JavaScript学习笔记数组(一)

    摘要:数组基础篇数组的语法数组是按次序排列的一组值。属性数组的属性,返回数组的成员数量。通过设置的值改变数组的长度将属性设为可以清空数组。类似数组的对象并不是数组,因为它们不具备数组特有的方法。 数组基础篇 1.数组的语法 数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始)。var arr=[1,2,3] //arr[0]=1任何类型的数据,都可以放入数组。 var ...

    Yangder 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<