如何更改JavaScript数组?

时间:2016-01-05 18:47:00

标签: javascript arrays

如何更改JS数组(如Ruby"危险"方法,例如"!")

示例:

如果我有这个:

var arr = [1,2,3]

我该怎么做:

arr === [2,4,6]

(假设我有一个适当的加倍数的函数)一步,而不再做任何变量?

3 个答案:

答案 0 :(得分:2)

智能Array.prototype.map()和作业即可。

  

map()方法创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数。



var arr = [1, 2, 3];

arr = arr.map(function (a) {
    return 2 * a;
});

document.write('<pre>' + JSON.stringify(arr, 0, 4) + '</pre>');
&#13;
&#13;
&#13;

答案 1 :(得分:1)

使用Array.prototype.forEach(),第三个参数是this:输入数组

var arr = [1, 2, 3];
arr.forEach(function(el, index, array) {
  array[index] = el * 2
});
console.log(arr)

答案 2 :(得分:0)

map()返回 new 数组,但如果回调函数对数组的元素起作用,它也可以就地修改数组:

&#13;
&#13;
function double(el, i, array) {
  array[i]= el * 2;
} //double

var arr= [1, 2, 3];

arr.map(double);

console.log(arr);  // [2, 4, 6]
&#13;
&#13;
&#13;