In es6 können Sie die from()-Methode des Array-Objekts verwenden, um das Objekt in ein Array umzuwandeln. Diese Methode kann ein Array-ähnliches Objekt oder ein durchquerbares Objekt in ein echtes Array konvertieren )".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.
In es6 können Sie die from()-Methode des Array-Objekts verwenden, um das Objekt in ein Array zu konvertieren.
Die Methode Array.from() konvertiert ein Array-ähnliches Objekt oder ein durchquerbares Objekt in ein echtes Array.
Was ist also ein Array-ähnliches Objekt? Die grundlegendste Voraussetzung für das sogenannte Array-ähnliche Objekt ist ein Objekt mit dem Längenattribut.
1. Array-ähnliche Objekte in echte Arrays umwandeln:
let arrayLike = { 0: 'tom', 1: '65', 2: 'Männlich', 3: ['jane','john','Mary'], 'Länge': 4 } let arr = Array.from(arrayLike) console.log(arr) // ['tom','65','M',['jane','john','Mary']]
Was also, wenn das Längenattribut im obigen Code entfernt wird? Die Praxis hat gezeigt, dass die Antwort ein leeres Array der Länge 0 sein wird.
Ändern wir den Code noch einmal, das heißt, er hat das Längenattribut, aber der Attributname des Objekts ist nicht mehr vom numerischen Typ, sondern von anderen String-Typen. Der Code lautet wie folgt:
let arrayLike = {. 'Name': 'Tom', 'Alter': '65', 'Geschlecht': 'männlich', 'Freunde': ['jane','john','Mary'], Länge: 4 } let arr = Array.from(arrayLike) console.log(arr) // [ undefiniert, undefiniert, undefiniert, undefiniert ]
wird feststellen, dass das Ergebnis ein Array mit einer Länge von 4 ist und alle Elemente undefiniert sind.
Es ist ersichtlich, dass ein Array-ähnliches Objekt in a konvertiert werden soll Für ein echtes Array müssen die folgenden Bedingungen erfüllt sein:
Dieser Array-Objekttyp muss über ein Längenattribut verfügen, mit dem die Länge des Arrays angegeben wird. Wenn kein Längenattribut vorhanden ist, ist das konvertierte Array ein leeres Array.
Der Attributname dieses Array-Objekttyps muss eine Zahl oder eine Zeichenfolge sein
. ps: Der Attributname dieses Array-Objekttyps kann in Anführungszeichen gesetzt werden oder nicht.
2. Konvertieren Sie die Daten der Set-Struktur in ein echtes Array:
let arr = [12,45,97,9797,564,134,45642] let set = new Set(arr) console.log(Array.from(set)) // [ 12, 45, 97, 9797, 564, 134, 45642 ]
Array.from
kann auch einen zweiten Parameter akzeptieren, der wie die map
Methode eines Arrays wirkt und verwendet wird to map Jedes Element wird verarbeitet und der verarbeitete Wert wird in das zurückgegebene Array eingefügt. Wie folgt:
let arr = [12,45,97,9797,564,134,45642] let set = new Set(arr) console.log(Array.from(set, item => item + 1)) // [ 13, 46, 98, 9798, 565, 135, 45643 ]
3. Konvertieren Sie die Zeichenfolge in ein Array:
let str = 'hello world !'; console.log(Array.from(str)) // ["h", "e", "l", "l", "o", " ", "w", "o", "r", " l“, „d“, „!“]
4. Der Parameter Array.from ist ein echtes Array:
console.log(Array.from([12,45,47,56,213,4654,154]))
wie folgt: Array .from gibt ein identisches neues Array zurück