在Javascript中迭代数组

Lei*_*ana 3 javascript arrays iteration for-loop

我是一个JavaScript新手.我正在尝试一些示例JavaScript问题.关于迭代数组的问题,我有点卡住了.谁能指出我正确的方向?

我正在尝试获取值oldArray,为每个值添加5,并存储newArray.

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42];

var newArray = [];

function plusFive(oldArray[i]) {

    for (var i = 0; i < oldArray.length; i++) {
        newArray.push(oldArray[i]) + 5) };
    }
}
Run Code Online (Sandbox Code Playgroud)

Pra*_*lan 8

代码中的错误是push语句行中的附加括号和右括号,只需删除它们即可.此外,无需在此处设置函数参数,因为两个数组都可以在函数内部访问,如果要传递,则需要将其更改为function plusFive(oldArray),并使用数组作为参数调用函数.

newArray.push(oldArray[i] + 5) ;
//-----------------------^----^-
Run Code Online (Sandbox Code Playgroud)

工作片段:

var newArray = [];

function plusFive(oldArray) {
  for (var i = 0; i < oldArray.length; i++) {
    newArray.push(oldArray[i] + 5)
  };
}


plusFive([1,2,4,6,32,44]);

document.write(
  'New array :' +
  '<pre>' + JSON.stringify(newArray) + '</pre>'
);
Run Code Online (Sandbox Code Playgroud)


没有数组作为参数的函数

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42];

var newArray = [];

function plusFive() {
  for (var i = 0; i < oldArray.length; i++) {
    newArray.push(oldArray[i] + 5)
  };
}


plusFive();

document.write(
  'Old array :' +
  '<pre>' + JSON.stringify(oldArray) + '</pre>' +
  'New array :' +
  '<pre>' + JSON.stringify(newArray) + '</pre>'
);
Run Code Online (Sandbox Code Playgroud)


但最好map()用于从现有数组创建修改后的数组

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42];

var newArray = oldArray.map(function(v) {
  return v + 5;
});

document.write(
  'Old array :' +
  '<pre>' + JSON.stringify(oldArray) + '</pre>' +
  'New array :' +
  '<pre>' + JSON.stringify(newArray) + '</pre>'
);
Run Code Online (Sandbox Code Playgroud)