我的Javascript代码有点问题。这是我的问题:
我想写一个函数,输入一个数字表。如果数字位于偶数索引中,则按原样返回。但是,如果数字位于 odd 索引中,则将返回乘以其索引。
例如:
输入:
[5,10,15,20,25,30,50,100]
返回:
[5、10、15、60、25、150、50、700]
所以,我的代码:
function multiplyNum(numbers) {
const multiply = numbers.map(function(number) {
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 == 0) {
return numbers
}
if (numbers[i] % 2 !== 0) {
return numbers
}
});
return multiplyNum
}
答案 0 :(得分:3)
您根本不需要for
循环,可以从映射中获取索引并乘以奇数:
function multiplyNum(numbers) {
return numbers.map(function(number, index) {
return index % 2 ? number * index : number;
});
}
console.log(multiplyNum([5, 10, 15, 20, 25, 30, 50, 100]));
答案 1 :(得分:2)
您可以将条件运算符映射为支票。
var array = [5, 10, 15, 20, 25, 30, 50, 100],
result = array.map((v, i) => i % 2 ? v * i : v);
console.log(result);