6 回答

TA貢獻1829條經驗 獲得超4個贊
這會有幫助嗎?
function sumEven(s) {
return s.split('').map(x=>+x).filter(x=>x%2==0).reduce((a,b)=>a+b)
}
console.log(sumEven('idsv366f4386523ec64qe35c'))

TA貢獻1841條經驗 獲得超3個贊
以下代碼可幫助您實現最小循環(huán)
function sumEven(s) {
return s
.split("")
.filter(x => x % 2 === 0)
.reduce((acc, val) => acc + Number(val), 0);
}
console.log(sumEven("112,sf34,4)-k)"));

TA貢獻1876條經驗 獲得超5個贊
我只是用正則表達式搜索所有偶數個位數,除了零(因為它不會對總和有貢獻)并求和結果數組,即
const functionFive = str => (str.match(/2|4|6|8/g) || [])
.reduce((sum, num) => sum + parseInt(num, 10), 0)
console.info(functionFive("sau213e89q8e7ey1"))

TA貢獻1831條經驗 獲得超9個贊
試試這個:
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"))

TA貢獻1775條經驗 獲得超11個贊
獲得結果的單線解決方案。希望這有幫助
let text = "2543sadadfh7896";
let evenNums = text.match(/\d+/g);
let result = evenNums!== null ? evenNums.join().split('').filter(i => i%2 ===0).reduce((a, b) => Number(a) + Number(b)) : 0;
console.log(result)

TA貢獻1828條經驗 獲得超4個贊
使用正則表達式
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)"))
添加回答
舉報