我应该使用while循环来遍历这个数组并将每个项目乘以2.当我尝试运行它时,页面会永远保持加载....我错过了什么?谢谢。
var prices = [4, 5, 8, 10];
var i = 0;
while (i < prices.length){
prices[i]++;
i*=2;
}
console.log(prices);
答案 0 :(得分:5)
您交换了增量:
var prices = [4, 5, 8, 10];
var i = 0;
while (i < prices.length){
prices[i] *= 2;
i++;
}
console.log(prices);
&#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
]
*/