首页 > 解决方案 > 我的函数没有返回预期的输出

问题描述

如果前半部分数字的总和等于后半部分的总和,我写了一个必须返回的函数。我的代码有什么问题?谢谢你帮助我。

function isLucky(n) {
var digits = (n).toString(10).split("").map(Number)
var k = digits.length; 
var a = 0;
var b = 0;
for(let x = 0; x<k/2; x++){
    a+=n[x];
}
for(let x = k/2; x<k; x++){
    b+=n[x];
}
return (a===b); 
}

标签: javascriptfunctionsumoutput

解决方案


这是一个小代码,用于比较数字的第 1 部分和第 2 部分的数字总和:

试试看。它将打印两半和比较结果。

您可以将代码转换为简单的函数。

let MyNumber = 1234.5678;                     // the Number
MyNumber = (""+MyNumber).split(".");          // Split the number
let first_half=0, Second_half=0, a;           // Some vars
a=[...MyNumber[0]].map(e => first_half+=+e);  // Sum the first half
a=[...MyNumber[1]].map(e => Second_half+=+e)  // Sum the 2nd half

console.log(first_half, Second_half)          // Print 1st and 2nd halves

console.log(first_half == Second_half)       // Test if equal


推荐阅读