javascript Array扩展
2009-09-21 00:00:00 来源:WEB开发网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)
Tags:javascript Array 扩展
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接