Учитывая, что вход является числом (не строкой):
let input = 123456;
Таким образом, мы конвертируем его в строку, позволяющую нам использовать String.split () с пустой строкой в качестве разделителя, таким образом, у нас будет массив цифр входного ввода:
input = input.toString().split('');
// [ '1', '2', '3', '4', '5', '6' ]
Теперь мы можем использовать Array.reduce () , чтобы получить и произведение, и сумму:
const product = input.reduce((acc, current) => current * acc, 1);
const sum = input.reduce((acc, current) => parseInt(current) + acc, 0);
Теперь нам просто нужно вычесть их:
const result = product - sum;
Последняя функция выглядит следующим образом:
function digitsManipulations(input) {
input = input.toString().split('');
const product = input.reduce((acc, current) => current * acc, 1);
const sum = input.reduce((acc, current) => parseInt(current) + acc, 0);
return product - sum;
}
Если вы не понимаете поведение используемых функций, Вы должны перейти по ссылкам и понять. Это основа c программирования.