Heim  >  Artikel  >  Web-Frontend  >  Javascript ist keine Array-Methode

Javascript ist keine Array-Methode

PHPz
PHPzOriginal
2023-05-12 12:37:07469Durchsuche

In JavaScript sind Arrays eine sehr häufige Datenstruktur. Sie werden häufig zum Speichern und Bearbeiten geordneter Datensammlungen verwendet. Obwohl es viele nützliche Methoden in Arrays gibt, fragen sich einige vielleicht, warum einige dieser Methoden (oder Eigenschaften) scheinbar zum Array gehören, in Wirklichkeit aber Methoden (oder Eigenschaften) des Array-Objekts und nicht Methoden (oder Eigenschaften) des Arrays sind selbst. Eigentum). In diesem Artikel werden wir einige häufige Missverständnisse und häufige Fehler besprechen und Array-Methoden und -Eigenschaften in JavaScript erklären.

Was ist ein Array?

Lassen Sie uns zunächst verstehen, was ein Array ist. Ein Array in JavaScript ist eine geordnete Liste, die verschiedene Datentypen speichern kann, darunter Zahlen, Zeichenfolgen, Objekte usw. Hier ist zum Beispiel ein einfaches Array:

let myArray = [1, 2, 3, "four", { five: 5 }];

In diesem Array haben wir einige Zahlen, eine Zeichenfolge und ein Objekt, die alle in einer bestimmten Reihenfolge im Array gespeichert sind. Um Elemente in einem Array zu manipulieren und darauf zuzugreifen, stellt JavaScript eine Reihe integrierter Methoden und Eigenschaften bereit, mit denen Entwickler problemlos verschiedene Vorgänge am Array ausführen können.

Welche Methoden sind keine Array-Methoden?

Im Folgenden sind einige gängige Array-Objektmethoden aufgeführt. Sie sehen aus wie Array-Methoden, sind aber tatsächlich Array-Objektmethoden, da sie für jedes Objekt und nicht nur für Arrays verwendet werden können:

join( )

Array.join()-Methode Verbinde alle Elemente im Array zu einer Zeichenfolge. Konkret verkettet diese Methode alle Elemente zu einer Zeichenfolge und fügt eine angegebene Zeichenfolge als Trennzeichen dazwischen ein. Beispiel: Die Methoden

let myArray = ["a", "b", "c", "d"];
let joinedArray = myArray.join(",");
console.log(joinedArray); // "a,b,c,d"

indexOf() und lastIndexOf()

Array.indexOf() geben den Index des ersten gefundenen Elements im Array zurück oder -1, wenn das Element nicht im Array gefunden wird. Die Methode Array.lastIndexOf() beginnt mit der Suche am Ende des Arrays und gibt den Index des zuletzt gefundenen Elements zurück. Wenn das Element nicht im Array gefunden wird, wird -1 zurückgegeben. Beispiel: Die Methode

let myArray = [1, 2, 3, 2];
let index = myArray.indexOf(2); // 返回 1
let lastIndex = myArray.lastIndexOf(2); // 返回 3

toString()

Array.toString() wandelt ein Array in einen String um und gibt den String zurück. Diese Methode ähnelt der Methode Array.join(), verwendet jedoch Kommas als Trennzeichen, um Elemente im Array zu verbinden. Beispiel: Die Methode

let myArray = [1, 2, 3];
let strArray = myArray.toString(); // 返回 "1,2,3"

slice()

Array.slice() gibt ein neues Array zurück, das die Array-Elemente vom Startindex bis zum Endindex (mit Ausnahme des Endindex) enthält. Beispiel: Die Methode

let myArray = [1, 2, 3, 4, 5];
let newArray = myArray.slice(2, 4); // 返回 [3, 4]

concat()

Array.concat() verkettet zwei oder mehr Arrays und gibt ein neues Array zurück. Beispiel: Die Methoden

let firstArray = [1, 2, 3];
let secondArray = [4, 5, 6];
let newArray = firstArray.concat(secondArray); // 返回 [1, 2, 3, 4, 5, 6]

push() und pop()

Array.push() und Array.pop() werden verwendet, um ein Element am Ende des Arrays hinzuzufügen bzw. ein Element am Ende des Arrays zu löschen. Beispiel: Die Methoden

let myArray = ["one", "two"];
myArray.push("three"); // 返回 3,数组变成 ["one", "two", "three"]
let lastElement = myArray.pop(); // 返回 "three",数组变成 ["one", "two"]

shift() und unshift()

Array.shift() und Array.unshift() werden verwendet, um ein Element vom Anfang des Arrays zu löschen bzw. ein Element am Anfang des Arrays hinzuzufügen. Beispiel:

let myArray = ["one", "two"];
myArray.unshift("zero"); // 返回 3,数组变成 ["zero", "one", "two"]
let firstElement = myArray.shift(); // 返回 "zero",数组变成 ["one", "two"]

Der Unterschied zwischen Array-Methoden und Array-Objektmethoden

Obwohl die oben aufgeführten Methoden wie Array-Methoden aussehen, besteht der wichtigste Unterschied darin, dass sie das ursprüngliche Array selbst nicht ändern. Stattdessen geben sie einen neuen Array-, String- oder primitiven Typwert zurück. Im folgenden Beispiel demonstrieren wir beispielsweise den Unterschied der Methode „slice()“. Beachten Sie, dass das ursprüngliche Array nicht geändert wird, sondern ein neues Array erstellt wird.

let myArray = ["a", "b", "c", "d", "e", "f"];
let newArray = myArray.slice(2, 4); // 返回 ["c", "d"]
console.log(myArray); // ["a", "b", "c", "d", "e", "f"]

Wenn wir dagegen die push()-Methode des Arrays verwenden, ändert die Methode das Array selbst und fügt ein neues Element hinzu.

let myArray = ["a", "b", "c"];
myArray.push("d"); // push() 方法将修改原数组本身
console.log(myArray); // ["a", "b", "c", "d"]

Darüber hinaus ändern Array-Methoden wie push(), pop(), shift() und unshift() das ursprüngliche Array und geben ein geändertes Array zurück, während Array-Objektmethoden wie concat(), join() , indexOf( ) und Slice()) geben ein neues Array, eine Zeichenfolge oder einen Wert eines primitiven Typs zurück und ändern das ursprüngliche Array nicht.

Fazit

Obwohl Arrays in JavaScript über viele nützliche Methoden verfügen, sollte beachtet werden, dass einige Methoden, die scheinbar zu Arrays gehören, tatsächlich Methoden von Array-Objekten sind. Obwohl diese Methoden für jedes Objekt verwendet werden können, verändern sie das ursprüngliche Objekt nicht und das zurückgegebene Ergebnis ist ein neues Array, eine neue Zeichenfolge oder ein neuer primitiver Typwert. Um Arrays und Array-Objekte in JavaScript besser zu verstehen, müssen Entwickler den Unterschied zwischen den beiden klar verstehen.

Das obige ist der detaillierte Inhalt vonJavascript ist keine Array-Methode. 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