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

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)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值