JavaScript 1.6 引入了几个新的Array 方法,具体的介绍见:New in JavaScript 1.6。这些方法已经被写进了ECMA262 V5。现代浏览器(IE9/Firefox/Safari/Chrome/Opera)都已经支持,但IE6/7/8不支持。jquery的工具方法中提供了类似的功能。
1、Array.forEach()和jquery的$().each()。在数组中的每个项上运行一个函数。类似java5 增强的for循环。
1 2 3 4 5 6 7 8 9 |
|
2、Array.filter()和jquery的$.grep()。在数组中的每个项上运行一个函数,并将函数返回真值的项作为数组返回。简单的说就是用一个条件过滤掉不符合的数组元素,剩下的符合条件的元素组合成新的数组返回。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
3、Array.map()和jquery的$.map()。在数组中的每个项上运行一个函数,并将全部结果作为数组返回。这个方法非常强大,尤其是作用于DOM数组时(在abcc项目上用过,对每个查询模块DOM生成查询字符串)。简单说就是把每个数组元素运算的结果作为新数组元素(还是很拗口)。
1 2 3 4 5 6 7 8 9 |
|
4、Array.every()方法。检查数组元素是否都符合某个条件,只要有一个不符合返回false,否则返回true
1 2 3 4 |
|
5、Array.some()方法。检查数组中元素是否符合某个条件,只要有一个符合返回true,否则返回false
1 2 3 4 |
|
最后给出 IE6/7/8的解决方案,让这些浏览器完美支持JS1.6的Array新方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
|
原文:http://www.cnblogs.com/snandy/archive/2011/03/02/1968557.html