Javascript 如何返回仅包含奇数的新数组
我有一个数组,我想将每个奇数加倍,并返回一个新数组,其中包含新加倍的数。由于某种原因,这些值不会翻倍;这是我的密码Javascript 如何返回仅包含奇数的新数组,javascript,Javascript,我有一个数组,我想将每个奇数加倍,并返回一个新数组,其中包含新加倍的数。由于某种原因,这些值不会翻倍;这是我的密码 function doubleOddNumbers(arr) { return arr.filter(function(value) { if(value%2 !== 0) { return value * 2 } }) } 当我在控制台中查看结果时,我会继续得到相同的奇数,而不是双倍数字,例如[1,2,3,4]将返回[1,3],而不是[2,6
function doubleOddNumbers(arr) {
return arr.filter(function(value) {
if(value%2 !== 0) {
return value * 2
}
})
}
当我在控制台中查看结果时,我会继续得到相同的奇数,而不是双倍数字,例如[1,2,3,4]将返回[1,3],而不是[2,6]。它可以这样工作
函数双奇数(arr){
设newArr=[];
arr.forEach(函数(值){
如果(值%2!==0){
新到达推力(值*2);
}
});
返回newArr;
}
log(doubleOddNumber([1,2,3,4,5,6,7,8]);
它可以这样工作
函数双奇数(arr){
设newArr=[];
arr.forEach(函数(值){
如果(值%2!==0){
新到达推力(值*2);
}
});
返回newArr;
}
log(doubleOddNumber([1,2,3,4,5,6,7,8]);
您只需使用数组。减少
函数编号(输入){
返回输入。减少((acc,cur)=>{
如果(当前%2!==0){
acc.push(电流*2);
}
返回acc;
}, []);
}
日志(DoubleOddNumber([1,2,3,4])
您只需使用数组即可。reduce
函数编号(输入){
返回输入。减少((acc,cur)=>{
如果(当前%2!==0){
acc.push(电流*2);
}
返回acc;
}, []);
}
日志(DoubleOddNumber([1,2,3,4])代码>首先,筛选器方法的返回语句始终为布尔类型。它永远不应该被用来假设它会返回一些东西。如果要从数组返回双倍奇数值,请执行以下操作-
arr.filter((value) => value % 2 !== 0).map((value) => value * 2);
首先,filter方法的返回语句总是布尔类型。它永远不应该被用来假设它会返回一些东西。如果要从数组返回双倍奇数值,请执行以下操作-
arr.filter((value) => value % 2 !== 0).map((value) => value * 2);
过滤器用于保留和删除项目,而不是转换/映射项目。首先需要过滤数组以保留奇数,然后使用.map()
转换/映射这些数字。当您想要保留项目时,应该从filter方法返回true
,当您想要删除项目时,应该从false
返回。啊,我明白了!谢谢。筛选器用于保留和删除项目,而不是转换/映射项目。首先需要过滤数组以保留奇数,然后使用.map()
转换/映射这些数字。当您想要保留项目时,应该从filter方法返回true
,当您想要删除项目时,应该从false
返回。啊,我明白了!谢谢。我认为OP希望输出是[2,6]
,我可能是错的。虽然我认为OP希望输出是[2,6]
,但我可能是错的