var y = [1,2,3];
(y.indexOf(1) > -1) ? console.log(true) : '';
Warum oben genannten Code nicht funktionieren? Ich dachte, es ist möglich, 1 in y zu überprüfen, was ein Array ist?indexOf Methode für ein Array in Javascript
var y = [1,2,3];
(y.indexOf(1) > -1) ? console.log(true) : '';
Warum oben genannten Code nicht funktionieren? Ich dachte, es ist möglich, 1 in y zu überprüfen, was ein Array ist?indexOf Methode für ein Array in Javascript
indexOf
gibt die erste übereinstimmende Position des Werts im Array zurück.
1
erscheint in Position 0
.
0 > 1
ist false
.
Sie müssen testen, ob die Position größer als -1
ist, um zu sehen, ob sie überhaupt im Array erscheint.
Da diese Antwort zu schreiben, ist die Frage bearbeitet -1
zu verwenden. Der Code in der Frage funktioniert nun wie gewünscht.
Umbenennung: '1' _ist_ in Position' 0' im Array 'y'. – Tushar
Es ist, weil in JS-Indizes an 0. Stelle beginnt.
So ist 1
in der 0. Platz ist 2
1. Platz und so weiter
indexOf
Null basiert, wie alle Indizes von Arrays und Strings. Wenn ein Element nicht im Array ist, gibt es -1
zurück, andernfalls gibt es den Index des Elements zurück.
var y = [1, 2, 3];
console.log(y.indexOf(1) !== -1);
@Tushar, zu was ...? ich denke, die op ist verwirrt über das konzept von "indexOf". –
'y.indexOf (1)' kehrt '0' als '1' an dem 0-te Index in dem Array ist. Um zu überprüfen, ob sich ein Element im Array befindet, verwenden Sie 'array.indexOf (1)! == -1' oder' array.includes (1) 'für das neueste env. – Tushar
Nun, da Sie den Code in Ihrer Frage "repariert" haben, was genau ist Ihre Frage?!? – Keiwan
Was meinst du mit _don't arbeiten? _. Was wird erwartet? Bitte sehen Sie [mcve] und [edit] die Frage. – Tushar