console.log(item))"."/> console.log(item))".">

Heim  >  Artikel  >  Web-Frontend  >  So konvertieren Sie ein Pseudo-Array in ein Array in ES6

So konvertieren Sie ein Pseudo-Array in ein Array in ES6

青灯夜游
青灯夜游Original
2022-05-05 14:03:431886Durchsuche

In ES6 können Sie die from()-Methode des Array-Typs verwenden, um ein Pseudo-Array in ein Array umzuwandeln. Diese Methode kann ein Array-ähnliches Objekt oder ein durchquerbares Objekt in ein echtes Array konvertieren (Pseudo-Array Object).forEache(item=>console.log(item))".

So konvertieren Sie ein Pseudo-Array in ein Array in ES6

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

ECMAScript6 neue Funktion – Pseudo-Array

Was ist ein Pseudo-Array: Wenn alle Schlüssel eines Objekts positive ganze Zahlen oder Null sind und ein Längenattribut haben, dann ist das Objekt wie ein Array und wird Pseudo-Array genannt.

Typische Pseudo-Arrays: Argumentobjekte, die meisten DOM-Elementsätze und Zeichenfolgen.

Beispiel

let arrayLike = {
 "0": "a",
 "1": "b",
 "2": "c",
 "length": 3
}

Wie das arrayLike-Objekt oben hat es eine Längeneigenschaft und der Schlüssel ist ebenfalls eine geordnete Sequenz.

So können Sie die Länge durchlaufen und abfragen. Sie können jedoch keine Array-Methoden aufrufen. Wie Push, Pop und andere Methoden.

Vor ES6 gab es ein weiteres häufiges Pseudo-Array: Argumente.

arguments sieht ebenfalls wie ein Array aus, verfügt jedoch über keine Array-Methoden.

Zum Beispiel arguments.push(1), dies wird definitiv einen Fehler melden.

So konvertieren Sie ein Pseudo-Array in ein Array in ES6

In ES6 können Sie die from-Methode des Array-Typs verwenden, um ein Pseudo-Array in ein Array zu konvertieren. Die Methode

Array.from() wird verwendet, um zwei Arten von Objekten in echte Arrays umzuwandeln:

1 Array-ähnliche Objekte können als „Pseudo-Arrays“ verstanden werden

2 Die Hauptfunktion von Array.from besteht darin, Pseudo-Arrays und durchquerbare Objekte in Arrays umzuwandeln.

Der Grund, warum wir „Hauptfunktion“ sagen, ist, dass Array.from auch zwei zu übergebende Parameter bereitstellt. Dies kann viele Arten kleiner Gameplays erweitern. Der zweite Parameter von

    Array.from ist eine Funktion, ähnlich der Map-Traversal-Methode. Wird zum Überqueren verwendet. Der dritte Parameter von
  • Array.from akzeptiert ein this-Objekt, das zum Ändern des this-Zeigers verwendet wird.
  • Verwendung des dritten Parameters (nicht häufig verwendet)
  <button name="button">测试1</button>
    <br/>
    <button name="button">测试2</button>
    <br/>
    <button name="button">测试3</button>
    <br/>
<script>
//声明变量let变量,const常量
let btns=document.getElementsByName("button");
console.log("btns",btns);//得到一个伪数组
//此处出现异常:Uncaught TypeError:btns.forEach is not a function 
btns.forEach(item=>console.log(item))
</script>
<script>
Array.from(btns).forEache(item=>console.log(item))//将伪数组转换为数组
</script>

Erweiterte Kenntnisse: Strings in Arrays konvertieren

let helper = {
 diff: 1,
 add (value) {
  return value + this.diff; // 注意这里有个 this
 }
};

function translate () {
 return Array.from(arguments, helper.add, helper);
}

let numbers = translate(1, 2, 3);

console.log(numbers); // 2, 3, 4

[Verwandte Empfehlungen:

Javascript-Video-Tutorial

, Web-Frontend]

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Pseudo-Array in ein Array in ES6. 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