2017-02-09 2 views
3

Ich ging durch einen der Interviewprozess ist dies Frage poped upWie wird das "d" für den folgenden Code gedruckt ["a", "b", "c", "d"] [1, 2, 3]

var arr = ["a", "b", "c", "d"][1, 2, 3] 

wenn ich console.log tat es druckt "d" und ich versuchte

var arr = ["a", "b", "c", "d", "e"][1, 2, 3] 

selbst ist es "d" Druck.

Bitte erläutern Sie mit einigen Dokumenten, wenn Sie können?

+0

, wenn Sie die Lösung bitte lassen Sie mich das wissen –

+3

bekommen [Komma-Operator] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator) schlägt erneut zu. – Gerrit0

+0

Ich fand das Duplikat, indem ich nach ['[javascript] array multiple index comma] (http://stackoverflow.com/search?q=%5Bjavascript%5D+array+multiple+index+comma) suche, was mich finden ließ http://StackOverflow.com/questions/29249371/array-behavior-confusion/29249412#29249412, die auch als ein Duplikat geschlossen ist. –

Antwort

4

Der erste Satz wird als Array interpretiert, der zweite Satz wird als Indexer zum ersten ausgewertet.

["a", "b", "c", "d"][1, 2, 3] => "d" 
["a", "b", "c", "d"][1, 2] => "c" 
["a", "b", "c", "d"][1] => "b" 
["a", "b", "c", "d"][0] => "a" 
["a", "b", "c", "d", "e"][3] => "d" 
(1, 2, 3) => 3 

so:

["a", "b", "c", "d"][1, 2, 3] => 
["a", "b", "c", "d"][(1, 2, 3)] => 
["a", "b", "c", "d"][3] => 
"d" 
1

Die Verwendung des Komma-Operators bei Klammernotation ermöglicht das Ergebnis des Verweises auf das letzte Element des Arrays. Zum Beispiel var arr = ["a", "b", "c", "d", "e"][1, 2]; arr // c

Verwandte Themen