js对比for、forEach、map遍历数组速度

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px Consolas; color: #6b82d9 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px Consolas; color: #596972 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px Consolas; min-height: 22.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px Consolas; color: #b58a00 }
span.s1 { color: #d8a100 }
span.s2 { color: #596972 }
span.s3 { color: #6b82d9 }
span.s4 { color: #97a700 }
span.s5 { color: #ad5cff }
span.s6 { color: #3c7400 }

function a() {

var arr = new Array(1000000);

for(var i = 0; i < arr.length;i ++) {

arr[i] = i;

}

var start1 = new Date().getTime();

for(var i = 0; i < arr.length;i ++) {

arr[i] = i+1;

}

var stop1 = new Date().getTime();

console.info(stop1-start1);

var start2 = new Date().getTime();

arr.forEach(function(value,index,array) {

arr[i] = i+1;

});

var stop2 = new Date().getTime();

console.info(stop2-start2);

var start3 = new Date().getTime();

arr.map(function(index,value,array) {

arr[i] = i+1;

});

var stop3 = new Date().getTime();

console.info(stop3-start3);

}

a();

>>>4

>>>29

>>>155

原文地址:https://www.cnblogs.com/Alice-Xu/p/8807450.html

时间: 2024-11-06 01:48:50

js对比for、forEach、map遍历数组速度的相关文章

C#使用foreach语句遍历数组的代码

下面的内容内容是关于C#使用foreach语句遍历数组的内容,希望对大家有所好处. using System; public class w3demo { public static void Main() { int sum = 0; int[] nums = new int[10]; for(int i = 0; i < 10; i++) nums[i] = i; foreach(int x in nums) { Console.WriteLine("Value is: "

js中 map 遍历数组

map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组.注意,这个方法不会改变原始数组. 在我们的例子中,回调函数只有一个参数,即数组中元素的值 (val 参数) ,但其实,你的回调函数也可以支持多个参数,譬如:元素的索引index.原始数组arr. 例子:使用 map 方法来为 oldArray 中的每一项增加3,并且在 newArray 中保存它们. oldArray 不应该被改变. var oldArray = [1,2,3,4,5]; var newAr

关于js 中的 foreach map

  forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环.例如下面这个例子: [1, 2 ,3, 4].forEach(alert); 等同于下面这个for循环 ? 1 2 3 4 var array = [1, 2, 3, 4]; for (var k = 0, length = array.length; k < length; k++) {  alert(array[k]); } Array在ES5新增的方法中,参数都是function类型,默认有传参,forEach

forEach() map() some() [数组的扩充方法]

2.7.1 arr.forEach() 参数及含义 var arr = [ 'a' , 'b' , 'c' , 'd' , 'e' ] ; var rt = arr.forEach( function( a , b , c){    console.log( '三个参数' , a , b , c );} ) ; console.log( '返回值' , rt ); 第1个参数是数组里的每个元素 第2个参数是索引 第3个参数是原数组 特点 1> forEach 方法按升序为数组中含有效值的每一项执

使用ECMAscript5中的forEach函数遍历数组

1 var a = [1,2,3]; 2 a.forEach(function(value,index,arr){ 3 arr[index] = value + index; 4 }) 5 console.log(a); >>[1, 3, 5] // 第一个参数表示值,第二个参数表示索引,第三个参数表示数组本身.2,3参数可以省略. 1 var a = [1,2,3]; 2 a.forEach(function(value,index,arr){ 3 a[index] = value + in

用ECMAscript5中的forEach函数遍历数组

1 var a = [1,2,3]; 2 a.forEach(function(value,index,arr){ 3 arr[index] = value + index; 4 }) 5 console.log(a); >>[1, 3, 5] // 第一个参数表示值,第二个参数表示索引,第三个参数表示数组本身.2,3参数可以省略. 1 var a = [1,2,3]; 2 a.forEach(function(value,index,arr){ 3 a[index] = value + in

foreach —(遍历数组或循环中的字符,以获取信息)

namespace ConsoleApplication2{ class Program {//letter 字母 gigit 数字 symbol 符号 static void Main(string[] args) { Console.WriteLine("请输入字符"); string s = Console.ReadLine();//输入的字符串用S来接收 int letter = 0;//最开始字母的个数为0 int gigit = 0; //最开始数字的个数为0 int sy

原生JS forEach()和map()遍历的区别以及兼容写法

一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input. 3.匿名函数中的this都是指Window. 4.只能遍历数组. 1.forEach() 没有返回值. arr[].forEach(function(value,index,array){ //do something }) 参数:value数组中的当前项,

PHP遍历数组常用方式(for,foreach,while,指针等等)

1使用for循环遍历数组 count($arr)用于统计数组元素个数         for循环只能用于遍历,纯索引数组!!如果存在关联数组,count统计两种数组的总个数         使用for循环遍历混合数组,导致数组越界 $arr=array(1,2,3,4,5,6,7);          $num=count($arr);//count最好放在for外面,可以让函数只执行一次          for($i=0;$i<count($arr);$i++){          echo