遍历主要有两种方法,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
不过实际输出格式和期待有不同,仍待改进。