javascript遍历数组,针对数组中每一个元素执行fn函数,并将数组索引和元素作为参数传递...

本文介绍了JavaScript中两种遍历数组的方法:使用for...in和for循环,并对比了它们的效率。同时提供了一个实用的each函数来简化数组遍历过程。

遍历主要有两种方法,i++方法和in关键词法

var list = [1, 2, 3, 4, 5, 6,7,8];
//var l = list.length;
for(var i in list) {
    console.log(list[i]);
}
//[Finished in 0.3s]

var list = [1, 2, 3, 4, 5, 6,7,8];
//var l = list.length;
for(var i = 0; i < list.length; i++) {
    console.log(list[i]);
}
//[Finished in 0.5s]

var list = [1, 2, 3, 4, 5, 6,7,8];
var l = list.length;
for(var i = 0; i < l; i++) {
    console.log(list[i]);
}
//[Finished in 0.4s]

可见相对来说for in效率更高,故

function each(arr, fn) {
    // your implement
  for(index in arr){
    fn(arr[index],index);
  }
}

// 其中fn函数可以接受两个参数:item和index

// 使用示例
var arr = ['java', 'c', 'php', 'html'];
function output(item) {
    console.log(item)
}
each(arr, output);  // java, c, php, html

// 使用示例
var arr = ['java', 'c', 'php', 'html'];
function output(item, index) {
    console.log(index + ': ' + item)
}
each(arr, output);  // 0:java, 1:c, 2:php, 3:html

不过实际输出格式和期待有不同,仍待改进。

转载于:https://www.cnblogs.com/bianxirui/p/4500871.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值