Javascript 所有偶数之和的函数
我想创建一个函数,将任何数字和字符的字符串作为一个参数。任务是找到所有偶数(数字)并求和,然后在控制台中显示总值。 例如,如果将以下字符串作为一个参数(“112,sf34,4)-k”传递给此函数,则结果应为:所有偶数之和:10 到目前为止,我已经提出了解决方案,并解决了这个问题。帮助我。提前谢谢Javascript 所有偶数之和的函数,javascript,Javascript,我想创建一个函数,将任何数字和字符的字符串作为一个参数。任务是找到所有偶数(数字)并求和,然后在控制台中显示总值。 例如,如果将以下字符串作为一个参数(“112,sf34,4)-k”传递给此函数,则结果应为:所有偶数之和:10 到目前为止,我已经提出了解决方案,并解决了这个问题。帮助我。提前谢谢 function functionFive(str) { const string = [...str].map(char => { const numberString
function functionFive(str) {
const string = [...str].map(char => {
const numberString = char.match(/^\d+$/)
if (numberString !== null){
const number = parseInt(numberString)
return number
}
const num = string.map(number=>{
if (number !== undefined && number%2 === 0){
console.log(number)
}
})
}
functionFive("sau213e89q8e7ey1")
这有帮助吗
函数sumEven(s){
返回s.split(“”).map(x=>+x).filter(x=>x%2==0).reduce((a,b)=>a+b)
}
log(sumeen('idsv366f4386523ec64qe35c'))
我的建议:
函数isNumber(char){
返回parseInt(char)!='NaN';
}
功能五(str){
//1.将str拆分为数组
常量charList=str.split(“”);
//2.过滤掉非数字
常量numberList=str.filter(isNumber);
//3.使用reduce返回数字的总和
返回numberList.reduce((acc,curr)=>curr%2==0?acc+curr:acc,0);
}
功能五(“sau213e89q8e7ey1”)
希望它能帮上忙,而且很容易理解:)我会用正则表达式搜索除零(因为它不会影响求和)之外的所有偶数个位数,然后对结果数组求和,即
const functionFive=str=>(str.match(/2 | 4 | 6 | 8/g)| |[]))
.reduce((sum,num)=>sum+parseInt(num,10),0)
console.info(functionFive(“sau213e89q8e7ey1”)
试试这个:
function functionFive(str){
return str.split('')
.filter((el)=> !isNaN(el) && el % 2 === 0)
.reduce((acc,cur)=> parseInt(acc) + parseInt(cur));
}
console.log(functionFive("112,sf34,4)-k"))
使用正则表达式
const functionFive = str => (str.match(/\d/g)||[]).reduce((a,b)=>a=parseFloat(a)+(parseFloat(b)%2==0?parseFloat(b):0),0);
console.log(functionFive("112,sf34,4)-k)"))
得到结果的一行解决方案。希望这有帮助
let text=“2543sadadfh7896”;
让evenNums=text.match(/\d+/g);
让结果=evenNums!==无效的evenNums.join().split(“”).filter(i=>i%2==0).reduce((a,b)=>Number(a)+Number(b)):0;
console.log(result)
下面的代码可以帮助您减少循环次数
函数sumEven(s){
返回s
.拆分(“”)
.filter(x=>x%2==0)
.减少((acc,val)=>acc+数字(val),0);
}
console.log(sumEven(“112,sf34,4)-k)”)你说的只是一位数吗?Ie112
是1
,1
和2
您的函数不返回任何内容。最重要的是,你有无与伦比的括号。如果字符串中没有数字,这将失败。+x
是经典:-)我知道这对总和没有影响,但零也是一个偶数。零是偶数,这是我写评论的唯一原因:@megapteranovaengliae我不知道,干杯。我已经更新了我的答案来解释为什么不包括零