检查 JavaScript 数组中最小的数字的校验位和


我们要编写一个 JavaScript 函数,它接受一个数字数组作为第一个也是唯一一个参数。该函数首先从数组中挑选最小的数字,然后计算该数字的所有数字和。

如果该数字的数字和为偶数,我们应返回 true,否则返回 false。

例如 −

如果输入数组为 −

const arr = [12, 657, 23, 56, 34, 678, 42];

则输出应为

const output = false;

因为该数组中的最小数字是 12,其数字和为 1 + 2 = 3,为奇数。

示例

代码如下 −

 在线演示

const arr = [12, 657, 23, 56, 34, 678, 42];
const addDigits = (num = 1, sum = 0) => {
   if(!num){
      return sum;
   };
   return addDigits(Math.floor(num / 10), sum + (num % 10));
};
const findSmallest = (arr = []) => arr.reduce((acc, val) => Math.min(acc, val));
const checkSmallestSum = (arr = []) => {
   const smallest = findSmallest(arr);
   const smallestSum = addDigits(smallest);
   return smallestSum % 2 === 0;
};
console.log(checkSmallestSum(arr));

输出

控制台中的输出为 −

false

更新于: 27-Feb-2021

165 次浏览

开启你的职业生涯

完成课程并获得认证

开始使用
广告