在之前的文章中我们了解了迭代数组的两种方法,感兴趣的可以点击链接进行查阅→《JS数组学习之迭代数组计算元素总和、将值连接成字符串》。这次我们继续JavaScript数组的学习,看看怎么遍历数组,对数组中的每个元素进行处理(例如值全部扩大一倍),有需要的朋友可以学习了解一下~
遍历数组,第一想到的方法就是使用for循环了,利用它我们可以很简单的将全部元素值都扩大一倍(即乘以2)
var a = [5,10,20]; for(var i=0;i<a.length;i++){ a[i]=2*a[i]; } console.log(a);
输出结果:
也可以使用for in语句来遍历数组。在 for/in 循环结构中,变量 i 表示数组的下标,而 a[i] 为可以读取指定下标的元素值。
var a = [10,20,30]; for(var i in a){ a[i]=2*a[i]; } console.log(a);
输出结果:
也可以利用之前文章提到的forEach()方法来遍历数组,该方法可以调用数组的每个元素,并将元素传递给回调函数。
var a = [20,30,40]; function f(value) { console.log(value*2); } a.forEach(f);
输出结果:
还可以利用map()方法来遍历数组,map()方法可以对数组的每个元素调用指定的回调函数,并返回包含结果的数组。
array.map(function callbackfn (value, index, array), thisArg);
function callbackfn (value, index, array)
:一个回调函数,最多可接受三个参数:
value:数组元素的值。
index:数组元素的数字索引。
array:包含该元素的数组对象。
下面通过代码示例来具体了解一下:
示例1:将全部元素值都扩大一倍(即乘以2)
var a = [30,40,50]; function f(value) { return value*2; } var a1=a.map(f); console.log(a1);
输出结果:
示例2:使用 JavaScript 内置方法作为回调函数
var a = [9, 16]; var a1 = a.map(Math.sqrt); console.log(a1); //3,4
好了,就说到这里了,有需要的可以看:javascript视频教程
以上是JS数组学习之遍历数组,将元素值全部扩大一倍的详细内容。更多信息请关注PHP中文网其他相关文章!