function halvesSumEqual(n: number): boolean {
const s: string = Math.abs(n).toString();
if (s.length % 2 !== 0) {
return false;
}
const half: number = s.length / 2;
const left: string = s.slice(0, half);
const right: string = s.slice(half);
const sumDigits = (str: string): number =>
[...str].reduce((sum, ch) => sum + Number(ch), 0);
return sumDigits(left) === sumDigits(right);
}
const nums: number[] = [123456, 123321, 123123, 123411, 1234321, 12321];
for (const n of nums) {
console.log(`${n}: ${halvesSumEqual(n)}`);
}
/*
run:
"123456: false"
"123321: true"
"123123: true"
"123411: true"
"1234321: false"
"12321: false"
*/