Heim > Web-Frontend > Front-End-Fragen und Antworten > So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array

So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array

青灯夜游
Freigeben: 2023-01-04 09:13:02
Original
2372 Leute haben es durchsucht

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)“.

So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.

Was ist arrayartig?

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: &#39;a&#39;,
			1: &#39;b&#39;,
			2: &#39;c&#39;,
		};
		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>
Nach dem Login kopieren

So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array

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);
Nach dem Login kopieren

So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array

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 = {
			&#39;1&#39;: 5,
			&#39;2&#39;: 8,
			&#39;3&#39;: 4,
			&#39;4&#39;: 6
		};
		//内置对象Object.keys:获取键
		var arr = Object.keys(obj)
		console.log(arr);
		//内置对象Object.values获取值
		var arr2 = Object.values(obj)
		console.log(arr2);
Nach dem Login kopieren

So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array

Die dritte Methode: Array.from( )

let obj = {
		&#39;0&#39;: 5,
		&#39;1&#39;: 8,
		&#39;2&#39;: 4,
		&#39;3&#39;: 6,
		&#39;length&#39;:4
	};
	    let arr = Array.from(obj)
		console.log(arr);
Nach dem Login kopieren

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 = [&#39;周一&#39;, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;,&#39;周五&#39;,&#39;周六&#39;,&#39;周日&#39;]
		// 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);
		})
Nach dem Login kopieren

Der Effekt ist wie im Bild gezeigt:

So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Arrayfor 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.

So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Arrayfor of

1 Sie können alle Fallen in der for-in-Schleife vermeiden

2 Sie können break, continue verwenden und return
3. Die for-of-Schleife unterstützt nicht nur das Durchlaufen von Arrays. Es ist auch für viele Array-ähnliche Objekte geeignet

4. Es unterstützt auch string for-of und ist nicht für die Verarbeitung ursprünglicher nativer Objekte geeignet

for in

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.可以使用 breakcontinue 和 return
3.for-of 循环不仅仅支持数组的遍历。同样适用于很多类似数组的对象
4.它也支持字符串的遍历
5.for-of 并不适用于处理原有的原生对象 

for in

注:for..in循环会把某个类型的原型(prototype)中方法与属性给遍历出来,所以这可能会导致代码中出现意外的错误

for Each

1、foreach1. Die foreach-Methode kann keine Return-, Break- und Continue-Anweisungen verwenden, um aus der Schleife auszubrechen

2. In der forEach-Methode Der Funktionsrückruf hat drei Parameter:

So konvertieren Sie ein arrayähnliches Objekt in es6 in ein Array


(1) Der Parameter ist der durchquerte Array-Inhalt (erforderlich)
(2) Der Parameter ist der entsprechende Array-Index (optional)

(3) Der Parameter ist das Array selbst (optional)

3. Führen Sie die bereitgestellte Funktion einmal für jedes Element des Arrays aus. Rückgabe undefiniert🎜

【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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage