Heim  >  Artikel  >  Web-Frontend  >  So konvertieren Sie ein Objekt in es6 in ein Array

So konvertieren Sie ein Objekt in es6 in ein Array

青灯夜游
青灯夜游Original
2022-03-08 19:08:558263Durchsuche

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 (Objekt)".

So konvertieren Sie ein Objekt in es6 in ein Array

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 umzuwandeln. Die Methode

Array.from() besteht darin, ein Array-ähnliches Objekt oder ein durchquerbares Objekt in ein echtes Array umzuwandeln.

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. Konvertieren Sie Array-ähnliche Objekte in echte Arrays:

let arrayLike = {
    0: 'tom',  
    1: '65',
    2: '男',
    3: ['jane','john','Mary'],
    'length': 4
}
let arr = Array.from(arrayLike)
console.log(arr) // ['tom','65','男',['jane','john','Mary']]

Was passiert 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 Sie den Code erneut, das heißt, er hat das Längenattribut, aber der Attributname des Objekts ist nicht mehr vom numerischen Typ, sondern von anderen Zeichenfolgentypen. Der Code lautet wie folgt:

let arrayLike = {
    'name': 'tom',  
    'age': '65',
    'sex': '男',
    'friends': ['jane','john','Mary'],
    length: 4
}
let arr = Array.from(arrayLike)
console.log(arr)  // [ undefined, undefined, undefined, undefined ]

Sie werden feststellen, dass der Ergebnis ist Länge 4, Elemente Arrays, die alle undefiniert sind

Es ist ersichtlich, dass zum Umwandeln eines Array-ähnlichen Objekts in ein echtes Array die folgenden Bedingungen erfüllt sein müssen:

  • Das Array-ähnliche Objekt muss verfügen über ein Längenattribut, 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 Zeichenfolgenzahl sein

ps: Der Attributname dieses Array-Objekttyps kann in Anführungszeichen stehen oder nicht

2. Konvertieren Sie die Daten der Set-Struktur in ein echtes Array: Die Methode

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还可以接受第二个参数,作用类似于数组的map wird verwendet, um jedes Element zu verarbeiten und den verarbeiteten Wert in das zurückgegebene Array einzufügen. 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]))

In diesem Fall gibt Array.from ein identisches neues Array zurück

【Verwandt Empfehlungen: Javascript-Video-Tutorial, Web-Frontend

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Objekt in es6 in ein Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn