首页 > 解决方案 > Javascript 中的控制流和迭代

问题描述

我需要遍历数组并将一个数字乘以 10,如果它大于或等于 5。这是代码:

const timesTenIfOverFive = [23, 9, 11, 2, 10, 6];

for (let i = 0; i < timesTenIfOverFive.length; i++) {
  if (i >= 5) {
    console.log(timesTenIfOverFive[i] * 10);
  } else {
    console.log(timesTenIfOverFive[i]);
  }
}

console.log(timesTenIfOverFive);

// -> should print [230, 90, 110, 2, 100, 60]

谢谢。

标签: javascriptarraysiteration

解决方案


您需要访问该元素并对其进行更改。

const timesTenIfOverFive = [23, 9, 11, 2, 10, 6];

for (let i = 0; i < timesTenIfOverFive.length; i++) {
    if(timesTenIfOverFive[i]>=5){
    timesTenIfOverFive[i]=timesTenIfOverFive[i]*10;
    }
}

console.log(timesTenIfOverFive);

另外,由于您正在更改数组,因此我建议使用 var 或 let 而不是 const ,如下所示:

var timesTenIfOverFive = [23, 9, 11, 2, 10, 6];
var res = timesTenIfOverFive.map(x=> x>=5?x*10:x);
console.log(res);


推荐阅读