Ich versuche, eine Algorithmusherausforderung zu tun. Ich habe diesen Code von einer der vollständigen Antworten gesehen. Ich bin neu in Javascript, also bin ich mir des Codes nicht ganz sicher. Ich weiß, dass der erste Abschnitt des Codes die Eingabe ziemlich nimmt und es zu einer Karte macht. Dann initiieren Sie ein MatchingPair-Array und einen Counter. Ich bin ziemlich verloren in der for-Schleife Abschnitt. Nicht sicher, was matchingPairs[""+c[i]] = matchingPairs[""+c[i]] || 0;
tut. Ich schätze, dass die for-Schleife alle Elemente der passenden Paare zum Array hinzufügt und zum Counter addiert.Was bedeutet dieser Javascript-Code?
function main() {
var n = parseInt(readLine());
c = readLine().split(' ');
c = c.map(Number);
var matchingPairs = {};
var matchingPairCount = 0;
for(var i=0; i< c.length; i++) {
matchingPairs[""+c[i]] = matchingPairs[""+c[i]] || 0;
matchingPairs[""+c[i]] += 1;
if (matchingPairs[""+c[i]] % 2 === 0) {
matchingPairCount += 1;
}
}
console.log(matchingPairCount);
}
try 'var x = {}; x ['a'] = x ['a'] || 0; console.log (x); 'um zu sehen, was passiert - natürlich könnte auch die nächste Zeile darin eingefügt werden ...' x ['a'] = (x ['a'] || 0) + 1' –
@ Andy.W Kennst du Python? 'x ['a'] || 0 'verhält sich wie ein 'defaultdict', das auf' 0 'auswertet, wenn keine Eigenschaft' a 'vorhanden ist (oder wenn die Eigenschaft' falsch 'auswertet). ''' + x' ist die Abkürzung für' String (x) '. –
Aus Interesse ist dies eine Herausforderung Website? Wenn ja, welcher? – Ben