Ich bin daran interessiert, die Kreditkartennummer zu finden, deren Ziffern die größte Zahl ergeben. Wenn mehr als einer dieselbe größte Ziffernsumme hat, möchte ich den letzten in der Liste mit dieser Summe haben.Max. Summe in Array von Kreditkartennummern finden
Ich versuche, eine einzige Funktion zu schreiben, die ein Argument benötigt. Dieses Argument wird eine Reihe von Kreditkartennummern sein. Angenommen, das Array kann eine beliebige Anzahl von Kreditkartennummern haben und jede ist eine Folge von Ziffern und Bindestrichen. Die Funktion sollte die Kreditkartennummer zurückgeben, die die größte Ziffernsumme aufweist. Hier
ist, was ich habe so weit
var creditCardNumbers = ['5865-2600-5889-0555', '4779-598666-3666', '4252-278553-7978' ,'4556-4242-9283-2260'];
var sums = creditCardNumbers.map(function(f) {
return f.match(/\d/g).reduce(function(sum, num) {
return sum + parseInt(num);
}, 1);
});
var maxSum = Math.max.apply(Math, sums);
console.log("totalSums = " + (sums));
console.log("maxSum = " + maxSum);
console.log("Number with the highest sum: " + (sums.creditCardNumbers));
//This last console.log does not work
Ich habe Probleme, die entsprechenden Kreditkartennummer mit der höchsten Summe zurück. Wenn jemand Ratschläge hat, wie man dieses Problem auf seine eigene Weise erreicht, ist das großartig. Danke im Voraus!
Vielleicht etwas wie 'creditCardNumbers.reduce (..., {cc: undefined, max: 0}). Cc'? – jlowcs
(Ich lasse Sie den Rest herausfinden;)) – jlowcs
Ich hoffe, dass dies nur ein Test ist und keinen Hinweis auf tatsächlichen Produktionscode Sie verwenden. – Andy