WEB开发网
开发学院网页设计JavaScript javascript Array扩展 阅读

javascript Array扩展

 2009-09-21 00:00:00 来源:WEB开发网   
核心提示: forEach各类库中都实现相似的each方法,如果其他浏览器没有实现此方法,javascript Array扩展(2),可以用以下代码实现兼容:1.Array.prototype.forEach=function(fn,thisObj){2.varscope=thisObj||window;3

forEach

各类库中都实现相似的each方法。

如果其他浏览器没有实现此方法,可以用以下代码实现兼容:

1.Array.prototype.forEach = function(fn, thisObj) {
2.    var scope = thisObj || window;
3.    for ( var i=0, j=this.length; i < j; ++i ) {
4.        fn.call(scope, this[i], i, this);
5.    }
6.};

1.function printElt(element, index, array) {
2.    print("[" + index + "] is " + element); // assumes print is already defined
3.}
4.[2, 5, 9].forEach(printElt);
5.// Prints:
6.// [0] is 2
7.// [1] is 5
8.// [2] is 9

every

如果数组中的每个元素都能通过给定的函数的测试,则返回true,反之false。换言之给定的函数也一定要返回true与false

如果其他浏览器没有实现此方法,可以用以下代码实现兼容:

01.Array.prototype.every = function(fn, thisObj) {
02.    var scope = thisObj || window;
03.    for ( var i=0, j=this.length; i < j; ++i ) {
04.        if ( !fn.call(scope, this[i], i, this) ) {
05.            return false;
06.        }
07.    }
08.    return true;
09.};

01.function isBigEnough(element, index, array) {
02.  return (element >= 10);
03.}
04.var passed = [12, 5, 8, 130, 44].every(isBigEnough);
05.console.log(passed)
06.// passed is false
07.passed = [12, 54, 18, 130, 44].every(isBigEnough);
08.// passed is true
09.console.log(passed)

上一页  1 2 3 4  下一页

Tags:javascript Array 扩展

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接