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-in
循环中的所有陷阱
2.可以使用 break
, continue
和 return
3.for-of
循环不仅仅支持数组的遍历。同样适用于很多类似数组的对象
4.它也支持字符串
的遍历
5.for-of 并不适用于处理原有的原生对象
注:for..in循环会把某个类型的原型(prototype)中方法与属性给遍历出来,所以这可能会导致代码中出现意外的错误
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!