遍历数组Javascript

时间:2017-07-07 19:56:49

标签: javascript while-loop traversal

我应该使用while循环来遍历这个数组并将每个项目乘以2.当我尝试运行它时,页面会永远保持加载....我错过了什么?谢谢。

var prices = [4, 5, 8, 10];

var i = 0;
while (i < prices.length){
    prices[i]++;
    i*=2;
}

console.log(prices);

2 个答案:

答案 0 :(得分:5)

您交换了增量:

&#13;
&#13;
var prices = [4, 5, 8, 10];

var i = 0;
while (i < prices.length){
    prices[i] *= 2;
    i++;
}

console.log(prices);
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

正如其他人所指出的,计算更新价格的方式存在逻辑错误。你正在乘以迭代器而不是价格。

ES5解决方案。

var prices = [4, 5, 8, 10];
var updatedPrices = prices.map(function(item) {
  return item *= 2;
});

console.log(updatedPrices);

/**
 [
  8,
  10,
  16,
  20
]
*/

ES6解决方案。

const prices = [4, 5, 8, 10];
const updatedPrices = prices.map(item => item *= 2);

console.log(updatedPrices);

/**
 [
  8,
  10,
  16,
  20
]
*/