Heim >Web-Frontend >js-Tutorial >Finden Sie verwirrende Zahlen in einem Array in JavaScript
Eine Zahl in einem Array kann verwirrend sein, wenn sie sich in eine andere Zahl verwandelt, die ebenfalls im Array vorhanden ist, nachdem sie vertikal und horizontal um 180 Grad gedreht wurde. Wenn wir beispielsweise 6 vertikal und horizontal um 180 Grad drehen, wird daraus 9 und umgekehrt.
Wir müssen bedenken, dass nur Drehungen von 0, 1, 6, 8, 9 gültige Ergebnisse liefern.
Wir müssen eine JavaScript-Funktion schreiben, die die natürliche Zahl num als ersten und einzigen Parameter akzeptiert. Die Funktion sollte zunächst ein Array erstellen, das alle natürlichen Zahlen bis einschließlich num enthält.
Für num = 5 sollte das Array beispielsweise -
[1, 2, 3, 4, 5]
sein. Die Funktion sollte dann zählen, wie viele verwirrende Zahlen im Array vorhanden sind, und diese Zahl schließlich zurückgeben.
Zum Beispiel -
Wenn die Eingabe -
const num = 10;
ist, sollte die Ausgabe -
const output = 5;
sein, da das Array wie folgt lautet: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] und es macht Leute Die verwirrte Zahl ist -
1, 6, 8, 9, 10
Sein Code ist -
Live-Demo
const num = 10; const countConfusing = (num = 1) => { let count = 0; const valid = '01689'; const rotateMap = {'0': '0', '1': '1', '6': '9', '8': '8', '9': '6'}; const prepareRotation = num => { let res = ''; const numArr = String(num).split(''); if(numArr.some(el => !valid.includes(el))){ return false; }; numArr.map(el => { res = rotateMap[el] + res; }); return +res; }; for(let i = 1; i <= num; i++){ const rotated = prepareRotation(i); if(rotated && rotated > 0 && rotated <= num){ count++; }; }; return count; }; console.log(countConfusing(num));
Die Ausgabe in der Konsole wird sein -
5
Das obige ist der detaillierte Inhalt vonFinden Sie verwirrende Zahlen in einem Array in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!