Dojo 扩展 javascript 核心库 - 数组方法(Array)

来源:互联网 发布:sql 3个引号 编辑:程序博客网 时间:2024/04/29 13:31

Javascript 1.6 定义了一些新的数组方法, 但是并不是所有浏览器都实现了 Javascript 1.6 , Dojo 为没有实现的浏览器提供扩展来实现它们.

-- dojo.indexOf 返回数组中匹配元素首次出现的位置, 未找到返回 -1

-- dojo.lastIndexOf 返回数组中匹配元素最后一次出现的位置, 未找到返回 -1

-- dojo.every 测试是否数组中所有元素都使测试函数返回 true

-- dojo.some 测试是否数组中存在元素使得测试函数返回 true

-- dojo.filter 返回一个新数组, 其元素是原数组中通过 filter 函数的元素

-- dojo.map 创建返回一个新数组, 其元素是用原数组每个元素调用传入函数的返回值

-- dojo.forEach 将数组中的每一个元素传给一个函数

除了前两个函数, 其它所有函数都有相同的函数签名, 如: dojo.every(array, func, context). array 是要操作的数组, func 是应用在每个数组项上的函数, 最后一个 context 则是执行 func 的上下文, 是可选参数.

如果传入了上下文参数, 获得回调函数可以用 dojo.hitch(context, func) 来获得.

例:

var arr = [1, 2, 3];var doubleArray = dojo.map(arr, function(x) { return x *= 2 });dojo.forEach(doubleArray, function(x) { console.log(x) });// Output: 2, 4, 6

对于第二个参数函数有个有趣儿的用法, 当第二个参数是一个字符串的时候, item & index & array 这三个字符串就有了特殊的意义

-- item: 当前正在操作的某一个数组元素.

-- index: 当前正在操作的数组元素的索引

-- array: 数组对象

例:

var arr = [1, 2, 3];var doubleArray = dojo.map(arr, "return item * 2");dojo.forEach(doubleArray, "console.log(index + ' = ' + item)");// Output: // 0 = 2// 1 = 4// 2 = 6


(访问 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array 查看详细 Javascript 1.6 Array)



原创粉丝点击