JavaScript-对嵌套在数组中的字符串中的数字求和

假设我们有一个包含一些演示信用卡号的数组,如下所示:

const arr = ['4916-2600-1804-0530', '4779-252888-3972', '4252-278893-7978', '4556-4242-9283-2260'];

我们的任务是创建一个接受此数组的函数。该函数必须返回最大位数的信用卡号。

如果两个信用卡号的总和相同,则该函数应返回最后一个信用卡号。

示例

为此的代码将是-

const arr = ['4916-2600-1804-0530', '4779-252888-3972', '4252-278893-7978', '4556-4242-9283-2260'];
const findGreatestNumber = (arr) => {
   let n, i = 0, sums;
   sums = [];
   while (i < arr.length) {
      sums.push(sum(arr[i]));
      i++;
   }
   n = sums.lastIndexOf(Math.max.apply(null, sums));
   return arr[n];
}
const sum = (num) => {
   let i, integers, res;
   integers = num.split(/[-]+/g);
   i = 0;
   res = 0;
   while (i < integers.length) {
      res += Number(integers[i]);
      i++;
   }
   return res;
};
console.log(findGreatestNumber(arr));

输出结果

控制台中的输出将是-

4252-278893-7978