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
广告