Warum kann der Operator nicht mehrfach verwendet werden?Verwendung von Spread-Operator mehrmals in Javascript?
let arr = [[[1, 2, 3]]];
console.log(arr); // Array [ Array[1] ]
console.log(...arr); // Array [ Array[3] ]
console.log(...(...arr));
// SyntaxError: expected '=>' after argument list, got ')'
Ich würde erwarten:
console.log(...(...arr)); // Array [ 1, 2, 3 ]
'... (arr)' Werke. Es ist das gleiche wie "... arr" – madox2
Gemäß der ES6-Spezifikation, wenn der Spread-Operator angetroffen wird, wird ein Iterator aus einem Spread-Objekt erstellt, das das Ergebnis der Auswertung des Zuweisungsausdrucks ist, der in Ihrem Arbeitsbeispiel "arr" ist. '... arr'. Mit 'console.log (... (... arr));' versuchen Sie, einen Spread-Operator + Zuweisungsausdruck als Zuweisungsausdruck an einen anderen Spread-Operator zu übergeben. Siehe http://www.ecma-international.org/ecma-262/6.0/#sec-argument-lists – br3w5
Sie könnten versuchen, 'console.log (... []. Concat (... arr)) '(oder irgendeine andere' Flatten'-Funktion) – Bergi