


So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array
Konvertierungsmethode: 1. Verwenden Sie die Anweisung „for in“, um das Array-ähnliche Objekt in ein Array zu konvertieren. Die Syntax lautet „for(var i in obj){console.log(arr.push(obj[i])“ );}"; 2 , Verwenden Sie die integrierten Objektschlüssel und -werte, die Syntax „Object.keys(obj)" und „Object.values(obj)"; 3. Verwenden Sie die from()-Funktion des Array-Objekts, die Syntax „Array.from(obj)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.
Es gibt einige Objekte in JavaScript, die wie Arrays aussehen, aber keine Arrays sind, sogenannte Array-ähnliche Objekte.
Was ist ein Array-ähnliches Objekt?
umfasst nur die Verwendung von ganzen Zahlen, die bei 0 beginnen und natürlich ansteigend als Schlüssel sind, und definiert auch Längenobjekte , die zur Darstellung der Anzahl von Elementen verwendet werden, die normalerweise als array-ähnliche Objekte betrachtet werden.
hat einen numerischen Indexindex, der auf das Objektelement zeigt, und das Längenattribut gibt uns die Anzahl der Elemente des Objekts an;
hat keine Methoden wie push, forEach und indexOf, die Array-Objekte haben;
Array-ähnliches Objekt in Array konvertieren
Die erste Methode: Verwenden Sie for in, um das arrayähnliche Objekt in ein Array umzuwandeln
<script type="text/javascript"> var obj = { 0: 'a', 1: 'b', 2: 'c', }; console.log(obj[0]); console.log(typeof obj); var arr = []; for(var i in obj){ console.log(arr.push(obj[i])); } console.log(arr); //把类数组对象放在一个名为arr的新数组里使得obj变成了数组 console.log(arr instanceof Array);//判断arr是否为数组 </script>
Wenn Sie das Ganze erhalten möchten Objekt:
let arr1 = [] for (let i in obj) { let newobj = {} newobj[i] = obj[i] arr1.push(newobj); } console.log(arr1);
Zweite Erste Methode: Integrierte Objektschlüssel und -werte
Eingebautes Objekt Object.keys: Holen Sie sich den Schlüssel
Eingebautes Objekt Object.values Holen Sie sich das value
let obj = { '1': 5, '2': 8, '3': 4, '4': 6 }; //内置对象Object.keys:获取键 var arr = Object.keys(obj) console.log(arr); //内置对象Object.values获取值 var arr2 = Object.values(obj) console.log(arr2);
Die dritte Methode: Array.from( )
let obj = { '0': 5, '1': 8, '2': 4, '3': 6, 'length':4 }; let arr = Array.from(obj) console.log(arr);
Array.from() muss 2 Bedingungen erfüllen, um ein Objekt in ein Array umzuwandeln
1: Der Schlüssel muss ein numerischer Wert sein.
2: Das Schlüssel-Wert-Paar muss eine Länge haben
Erweitertes Wissen: der Unterschied zwischen for of, for in und forEach
let arr = ['周一', '周二', '周三', '周四','周五','周六','周日'] // for of for (let item of arr) { console.log(item); } // for in for (let i in arr) { console.log(i); } // forEach arr.forEach(item => { console.log(item); })
Der Effekt ist wie im Bild gezeigt:
for in item stellt ein Element im Array dar
for in i stellt den Index dar, der im Allgemeinen zum Durchlaufen des Objekts verwendet wird
forEach-Methode wird verwendet, um jedes Element des Arrays aufzurufen und das Element an die Rückruffunktion zu übergeben.
for of
1 Sie können alle Fallen in derfor-in
-Schleife vermeiden 2 Sie könnenbreak
,continue verwenden
undreturn
3. Diefor infor-of
-Schleife unterstützt nicht nur das Durchlaufen von Arrays. Es ist auch für viele Array-ähnliche Objekte geeignet4. Es unterstützt auch
string
for-of und ist nicht für die Verarbeitung ursprünglicher nativer Objekte geeignet
Hinweis: Die for..in-Schleife durchläuft die Methoden und Eigenschaften im Prototyp eines bestimmten Typs, sodass dies zu unerwarteten Fehlern im Code führen kann
for Each
for-in
循环中的所有陷阱
2.可以使用 break
, continue
和 return
3.for-of
循环不仅仅支持数组的遍历。同样适用于很多类似数组的对象
4.它也支持字符串
的遍历
5.for-of 并不适用于处理原有的原生对象
for in
注:for..in循环会把某个类型的原型(prototype)中方法与属性给遍历出来,所以这可能会导致代码中出现意外的错误
for Each
1、foreach
1. Die foreach
-Methode kann keine Return-, Break- und Continue-Anweisungen verwenden, um aus der Schleife auszubrechen
(1) Der Parameter ist der durchquerte Array-Inhalt (erforderlich)
(2) Der Parameter ist der entsprechende Array-Index (optional)
【Empfohlenes Lernen: Javascript-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











In ES6 können Sie die Methode reverse() des Array-Objekts verwenden, um eine Array-Umkehrung zu erreichen. Diese Methode wird verwendet, um die Reihenfolge der Elemente im Array umzukehren, wobei das letzte Element zuerst und das erste Element zuletzt gesetzt wird .umkehren()". Die Methode reverse() ändert das ursprüngliche Array. Wenn Sie es nicht ändern möchten, müssen Sie es mit dem Erweiterungsoperator „…“ verwenden. Die Syntax lautet „[...array].reverse()“. ".

async ist es7. Async und Wait sind neue Ergänzungen zu ES7 und Lösungen für asynchrone Vorgänge. Man kann sagen, dass Async/Await syntaktischer Zucker für Co-Module und Generatorfunktionen ist und js asynchronen Code mit klarerer Semantik löst. Wie der Name schon sagt, bedeutet Async „asynchron“. Async wird verwendet, um zu deklarieren, dass eine Funktion asynchron ist. Es gibt eine strikte Regel zwischen Async und Wait.

Aus Gründen der Browserkompatibilität. Als neue Spezifikation für JS fügt ES6 viele neue Syntax und API hinzu. Moderne Browser bieten jedoch keine umfassende Unterstützung für die neuen Funktionen von ES6, daher muss ES6-Code in ES5-Code konvertiert werden. In den WeChat-Webentwicklertools wird babel standardmäßig verwendet, um den ES6-Syntaxcode des Entwicklers in ES5-Code umzuwandeln, der von allen drei Terminals gut unterstützt wird und Entwicklern hilft, Entwicklungsprobleme zu lösen, die durch unterschiedliche Umgebungen nur im Projekt verursacht werden Option „ES6 bis ES5“.

Schritte: 1. Konvertieren Sie die beiden Arrays jeweils in Mengentypen mit der Syntax „newA=new Set(a); newB=new Set(b);“ 2. Verwenden Sie has() und filter(), um den Differenzsatz zu finden Mit der Syntax „new Set([...newA].filter(x =>!newB.has(x)))“ werden die Differenzmengenelemente in eine Mengensammlung aufgenommen und zurückgegeben. 3. Verwenden Sie Array. from, um die Menge in einen Array-Typ umzuwandeln, Syntax „Array.from(collection)“.

In es5 können Sie die for-Anweisung und die Funktion indexOf() verwenden, um eine Array-Deduplizierung zu erreichen. Die Syntax „for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if( a== -1){...}}". In es6 können Sie den Spread-Operator Array.from() und Set verwenden, um Duplikate zu entfernen. Sie müssen zuerst das Array in ein Set-Objekt konvertieren, um Duplikate zu entfernen, und dann den Spread-Operator oder die Funktion Array.from() verwenden Konvertieren Sie das Set-Objekt zurück in ein Array.

In es6 handelt es sich bei der temporären Totzone um einen Syntaxfehler, der sich auf die Befehle let und const bezieht, die dafür sorgen, dass der Block einen geschlossenen Bereich bildet. Bevor eine Variable innerhalb eines Codeblocks mit dem Befehl let/const deklariert wird, ist sie nicht verfügbar und gehört zur „toten Zone“ der Variablen, bevor die Variable deklariert wird. ES6 legt fest, dass die Variablenheraufstufung in temporären Totzonen und in let- und const-Anweisungen nicht erfolgt, hauptsächlich um Laufzeitfehler zu reduzieren und zu verhindern, dass die Variable vor ihrer Deklaration verwendet wird, was zu unerwartetem Verhalten führen kann.

Nein, require ist die modulare Syntax der CommonJS-Spezifikation und die modulare Syntax der es6-Spezifikation ist import. require wird zur Laufzeit geladen, und import wird zur Kompilierungszeit geladen; Wenn „require“ ausgeführt wird, ist die Leistung relativ gering. Die beim Importieren eingeführten Eigenschaften weisen eine etwas höhere Leistung auf.

In es6 können Sie das Längenattribut des Array-Objekts verwenden, um zu bestimmen, wie viele Elemente sich im Array befinden. Um die Anzahl der Elemente im Array zu ermitteln, kann dieses Attribut einfach die Anzahl der Elemente im Array zurückgeben Verwenden Sie die Anweisung „array.length“. Gibt einen Wert zurück, der die Anzahl der Elemente des Array-Objekts darstellt, also den Längenwert.
