JavaScriptは配列メソッドではありません

PHPz
リリース: 2023-05-12 12:37:07
オリジナル
514 人が閲覧しました

JavaScript では、配列は非常に一般的なデータ構造です。これらは、順序付けられたデータのコレクションを保存および操作するために広く使用されています。配列には便利なメソッドがたくさんありますが、これらのメソッド (またはプロパティ) の一部が配列に属しているように見えながら、実際には配列のメソッド (またはプロパティ) ではなく、Array オブジェクトのメソッド (またはプロパティ) であるのはなぜか疑問に思う人もいるかもしれません。それ自体。属性)。この記事では、よくある誤解とよくある間違いについて説明し、JavaScript の配列メソッドとプロパティについて説明します。

配列とは何ですか?

まず配列とは何かを理解しましょう。 JavaScript の配列は、数値、文字列、オブジェクトなどのさまざまなタイプのデータを格納できる順序付きリストです。たとえば、次は単純な配列です。

let myArray = [1, 2, 3, "four", { five: 5 }];
ログイン後にコピー

この配列には、数値、文字列、オブジェクトがあり、それらはすべて特定の順序で配列に格納されています。配列内の要素を操作してアクセスするために、JavaScript は開発者が配列に対してさまざまな操作を簡単に実行できるようにする一連の組み込みメソッドとプロパティを提供します。

配列メソッドではないメソッドはどれですか?

以下に一般的な Array オブジェクト メソッドをいくつか示します。これらは配列メソッドのように見えますが、配列だけでなく任意のオブジェクトで使用できるため、実際には Array オブジェクト メソッドです:

join()

Array.join() メソッドは、配列内のすべての要素を文字列に結合します。具体的には、このメソッドはすべての要素を文字列に連結し、それらの間に区切り文字として指定された文字列を挿入します。例:

let myArray = ["a", "b", "c", "d"];
let joinedArray = myArray.join(",");
console.log(joinedArray); // "a,b,c,d"
ログイン後にコピー

indexOf() および lastIndexOf()

Array.indexOf() メソッドは、配列内で最初に見つかった要素のインデックスを返します。要素が配列内に見つからない場合は、 -1 を返します。 Array.lastIndexOf() メソッドは、配列の末尾から検索を開始し、最後に見つかった要素のインデックスを返します。要素が配列内に見つからない場合は、-1 を返します。例:

let myArray = [1, 2, 3, 2];
let index = myArray.indexOf(2); // 返回 1
let lastIndex = myArray.lastIndexOf(2); // 返回 3
ログイン後にコピー

toString()

Array.toString() メソッドは、配列を文字列に変換し、その文字列を返します。このメソッドは Array.join() メソッドに似ていますが、配列内の要素を結合するための区切り文字としてカンマを使用します。例:

let myArray = [1, 2, 3];
let strArray = myArray.toString(); // 返回 "1,2,3"
ログイン後にコピー

slice()

Array.slice() メソッドは、開始インデックスから終了インデックスまで (終了インデックスを除く) の配列要素を含む新しい配列を返します。例:

let myArray = [1, 2, 3, 4, 5];
let newArray = myArray.slice(2, 4); // 返回 [3, 4]
ログイン後にコピー

concat()

Array.concat() メソッドは、2 つ以上の配列を連結し、新しい配列を返します。例:

let firstArray = [1, 2, 3];
let secondArray = [4, 5, 6];
let newArray = firstArray.concat(secondArray); // 返回 [1, 2, 3, 4, 5, 6]
ログイン後にコピー

push() および Pop()

Array.push() および Array.pop() メソッドは、配列の末尾に要素を追加し、要素を削除するために使用されます。配列の末尾からそれぞれ。例:

let myArray = ["one", "two"];
myArray.push("three"); // 返回 3,数组变成 ["one", "two", "three"]
let lastElement = myArray.pop(); // 返回 "three",数组变成 ["one", "two"]
ログイン後にコピー

shift() および unshift()

Array.shift() および Array.unshift() メソッドは、配列の先頭から要素を削除し、配列に要素を追加するために使用されます。それぞれ配列の先頭の要素です。例:

let myArray = ["one", "two"];
myArray.unshift("zero"); // 返回 3,数组变成 ["zero", "one", "two"]
let firstElement = myArray.shift(); // 返回 "zero",数组变成 ["one", "two"]
ログイン後にコピー

配列メソッドと Array オブジェクトのメソッドの違い

上記のメソッドは配列メソッドのように見えますが、最も重要な違いは、元の配列自体を変更しないことです。 。代わりに、新しい配列、文字列、またはプリミティブ型の値を返します。たとえば、次の例では、slice() メソッドの違いを示します。元の配列は変更されませんが、新しい配列が作成されることに注意してください。

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"]
ログイン後にコピー

対照的に、配列の Push() メソッドを使用すると、このメソッドは配列自体を変更し、新しい要素を追加します。

let myArray = ["a", "b", "c"];
myArray.push("d"); // push() 方法将修改原数组本身
console.log(myArray); // ["a", "b", "c", "d"]
ログイン後にコピー

さらに、push()、pop()、shift()、unshift() などの配列メソッドは元の配列を変更し、変更された配列を返しますが、 concat() 、 join などの配列オブジェクト メソッドは、 ()、indexOf()、slice()) は、新しい配列、文字列、またはプリミティブ型の値を返しますが、元の配列は変更されません。

結論

JavaScript の配列には便利なメソッドが多数ありますが、配列に属しているように見える一部のメソッドは実際には Array オブジェクトのメソッドであることに注意してください。これらのメソッドは任意のオブジェクトで使用できますが、元のオブジェクトは変更されず、返される結果は新しい配列、文字列、またはプリミティブ型の値になります。 JavaScript の配列と Array オブジェクトをより深く理解するには、開発者は 2 つの違いを明確に理解する必要があります。

以上がJavaScriptは配列メソッドではありませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート