ホームページ ウェブフロントエンド jsチュートリアル js配列の基本操作(すべて自作)_javascriptスキル

js配列の基本操作(すべて自作)_javascriptスキル

May 16, 2016 pm 04:33 PM
配列演算

私は長い間jsを使ってきましたが、jsの配列形式について勉強したことがありませんでした。場合によっては、単純な string.split(char) を使用するだけです。この時期に取り組んだプロジェクトでは、多くの場所で配列を使用していました。私は JS をマスターしたと思っていましたが、始めることができませんでした。これから学びます。ふふ。学習した後、js 配列は非常に強力で、VB や C# よりもはるかに強力であることがわかりました。見てみましょう

1. 配列の作成

var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值
ログイン後にコピー

2 番目のメソッドは配列を作成して長さを指定しますが、実際には配列はすべての場合において可変長であることに注意してください。つまり、長さが 5 に指定されている場合でも、要素は依然として可変長である可能性があります。それ以外の場合は、長さが変更されることに注意してください。

2. 配列要素へのアクセス

var testGetArrValue=arrayObj[1] //配列の要素値を取得します
arrayObj[1]= "これは新しい値です" // 配列要素に新しい値を割り当てます

;

3. 配列要素の追加

コード

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
ログイン後にコピー

4. 配列要素の削除

arrayObj.pop(); //移除最后一个元素并返回该元素值
arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
ログイン後にコピー

5. 配列のインターセプトとマージ

arrayObj.slice(start, [end]); //end に対応する要素は含まれないので、start 以降の要素はすべて返されます。コピーされる
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //複数の配列 (文字列、または配列と文字列の混合も可能) を 1 つの配列に連結し、新しく接続された配列を返します。配列

6. 配列のコピー

arrayObj.slice(0); //配列のコピー配列を返します。
を指しているわけではないことに注意してください。 arrayObj.concat(); // 配列のコピー配列を返します。これは
を指していないことに注意してください。
7. 配列要素の並べ替え

arrayObj.reverse(); // 要素を反転して (最初から最後、最後から前)、配列アドレスを返します
arrayObj.sort(); // 配列要素をソートし、配列アドレスを返します

8. 配列要素の文字列化

arrayObj.join(separator); //配列の各要素の値をセパレータで区切って結合した文字列を返します。
toLocaleString、toString、valueOf: は、一般的には使用されない結合の特殊な使用法と見なすことができます

2. 配列オブジェクトの 3 つの属性

1. 長さ属性

Length 属性は配列の長さ、つまり配列内の要素の数を表します。配列のインデックスは常に 0 から始まるため、配列の上限と下限はそれぞれ 0 と length-1 になります。他のほとんどの言語とは異なり、JavaScript 配列の長さプロパティは可変であるため、特別な注意が必要です。 length 属性がより大きく設定されても、実際には配列全体の状態は変化しません。length 属性が元の値よりも小さく設定されている場合、元の配列内の要素のインデックスがそれ以上になるだけです。長さはすべての値が失われます。以下は、長さ属性の変更を示す例です:

コード

var arr=[12,23,5,3,25,98,76,54,56,76];
//定义了一个包含10个数字的数组
alert(arr.length); //显示数组的长度10
arr.length=12; //增大数组的长度
alert(arr.length); //显示数组的长度已经变为12
alert(arr[8]); //显示第9个元素的值,为56
arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃
alert(arr[8]); //显示第9个元素已经变为"undefined"
arr.length=10; //将数组长度恢复为10
alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"
ログイン後にコピー

上記のコードから、length 属性の性質がはっきりとわかります。ただし、長さオブジェクトは明示的に設定できるだけでなく、暗黙的に変更することもできます。同様に、JavaScript で未定義の変数を使用することもできます (長さ以上のインデックスを持つ要素を参照します)。この場合、length 属性の値は に設定されます。使用される要素インデックスの値に 1 を加算します。たとえば、次のコード:

var arr=[12,23,5,3,25,98,76,54,56,76];
alert(arr.length);
arr[15]=34;
alert(arr.length);
ログイン後にコピー

このコードでは、最初に 10 個の数値を含む配列も定義されています。アラート ステートメントから、その長さが 10 であることがわかります。次に、インデックス 15 の要素が使用され、値 15、つまり arr[15]=34 が割り当てられます。このとき、alert ステートメントは配列の長さを出力するために使用され、結果は 16 になります。いずれにしても、これは、厳密に型指定されたプログラミングに慣れている開発者にとっては驚くべき機能です。実際、 new Array() を使用して作成された配列の初期の長さは 0 です。配列の長さが変化するのは、未定義の要素の操作です。
上記の紹介からわかるように、length 属性は非常に魔法のようなもので、これを使用すると配列の容量を簡単に増減できます。したがって、length 属性を深く理解すると、開発プロセス中にそれを柔軟に使用するのに役立ちます。

2. プロトタイプ属性

オブジェクト型のプロトタイプへの参照を返します。プロトタイププロパティはオブジェクトに共通です。
オブジェクト名.プロトタイプ
objectName パラメータは、オブジェクト オブジェクトの名前です。

説明:
プロトタイプ プロパティを使用して、オブジェクトのクラスに基本的な機能セットを提供します。 オブジェクトの新しいインスタンスは、オブジェクトのプロトタイプに割り当てられた操作を「継承」します。
配列オブジェクトの場合、次の例は、prototype 属性の使用法を示しています。
配列内の最大要素値を返すメソッドを配列オブジェクトに追加します。これを実現するには、関数を宣言し、それを Array.prototype に追加して使用します。

コード

function array_max()
{
var i,
max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max();
ログイン後にコピー

このコードが実行されると、y は配列 x の最大値、つまり 6 を保持します。

3. コンストラクター属性

はオブジェクトを作成する関数を表します。
object.constructor //object はオブジェクトまたは関数の名前です。
説明: コンストラクター プロパティは、プロトタイプを持つすべてのオブジェクトのメンバーです。これらには、Global オブジェクトと Math オブジェクトを除くすべての JScript ネイティブ オブジェクトが含まれます。コンストラクター プロパティは、特定のオブジェクト インスタンスを構築する関数への参照を保持します。
例:
x = 新しい文字列("Hi");
if (x.constructor == String) // 処理(条件が true の場合)。

または
関数 MyFunc {
// 関数本体。
}

y = 新しい MyFunc;
if (y.constructor == MyFunc) // 処理(条件が true の場合)。

配列の場合:
y = 新しい配列();

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP8.0での配列のマージ操作:array_merge PHP8.0での配列のマージ操作:array_merge May 14, 2023 am 08:52 AM

PHP8.0版では配列のマージ動作が改善されました。この改善は主に配列データ型のマージ操作を対象としています。以前のバージョンでは、PHP によって提供される配列の結合操作は「+」記号を使用して実装されていました。ただし、このアプローチにはいくつかの問題があります。 2 つの配列に同じキーが含まれている場合、2 番目の配列のキー値が最初の配列のキー値を上書きします。2 つの配列をマージする必要がある場合は、array_merge() 関数を上手に使用する必要があります。 。さて、PHPでは

PHPで文字列を配列に入れて改行で分割する方法 PHPで文字列を配列に入れて改行で分割する方法 Aug 28, 2023 pm 10:57 PM

PHPとは何ですか? PHP は Hypertext Preprocessor の略で、Web 開発に使用される一般的なサーバーサイド スクリプト言語です。動的でインタラクティブな Web ページを作成するように設計されています。 PHP は HTML コードに埋め込まれてサーバー上で実行され、クライアントのブラウザーに送信される HTML 出力を生成します。学習しやすい構文を備えた PHP を使用すると、開発者は動的な Web サイトを構築し、フォーム データを処理し、データベースと対話し、さまざまなサーバー側タスクを実行できます。これには、機能を強化し、開発者が強力でスケーラブルな Web アプリケーションを作成できるようにするライブラリとフレームワークの広大なエコシステムがあります。 PHP はホスティング プロバイダーによって広くサポートされているため、Web 開発プロジェクトの最優先の選択肢となっています。 PHPで文字列を配列に入れて改行で分割する方法

PHP を使用した配列操作のベスト プラクティス PHP を使用した配列操作のベスト プラクティス Jun 06, 2023 am 10:30 AM

PHP は、さまざまな方法で配列操作を実行できる、広く使用されているサーバー側スクリプト言語です。この記事では、より効率的で美しく、読みやすいコードを作成するために役立つ、PHP コードを記述する際のベスト プラクティスを紹介します。 1. 手動ループの代わりに配列関数を使用する データを移動、操作、または変更するには、配列を手動でループする代わりに、PHP 配列関数を使用することをお勧めします。 PHP 配列関数はより高速に実行され、可読性と保守性が向上します。以下は、一般的に使用される PHP 配列関数の一部です。

PHP8.0 の配列に対する危険な操作: array_splice() PHP8.0 の配列に対する危険な操作: array_splice() May 14, 2023 am 08:24 AM

PHP8.0 における配列の危険な操作: array_splice() PHP プログラミングでは、配列は、1 つの変数に複数の値を格納できるようにする非常に一般的に使用されるデータ構造です。 array_splice() 関数は、配列を処理するメソッドであり、配列内の要素を削除または置換できます。ただし、PHP8.0 の array_splice() 関数には危険な操作が含まれており、不適切に使用すると重大な問題を引き起こす可能性があります。この記事で詳しくご紹介します

PHP カスタム関数を使用して配列の交差と結合の機能を拡張する PHP カスタム関数を使用して配列の交差と結合の機能を拡張する May 01, 2024 am 10:45 AM

配列の交差および共用体の機能は、PHP カスタム関数を使用して拡張できます。カスタム交差関数を使用すると、キーまたは値で交差を検索でき、カスタム ユニオン関数では、キーまたは値で共用体を検索できます。これにより、特定のニーズに基づいて配列を柔軟に操作できるようになります。

PHP 配列操作の完全なリスト: array_diff() PHP 配列操作の完全なリスト: array_diff() Jun 20, 2023 pm 03:57 PM

PHP では、配列は非常に一般的で便利なデータ構造です。 PHP は、これらの配列を操作および処理するためのさまざまな関数とメソッドを提供します。非常に便利な関数の 1 つは array_diff() です。この記事では、この機能について詳しく説明します。 array_diff() 関数の基本的な使用法は非常に簡単です。この関数は 2 つ以上の配列を引数として受け取り、最初の配列には存在するが他の配列には存在しない要素を含む新しい配列を返します。以下に例を示します: $array1=

PHP配列のキーと値の交換:パフォーマンスの比較と最適解の詳細な説明 PHP配列のキーと値の交換:パフォーマンスの比較と最適解の詳細な説明 May 04, 2024 pm 01:51 PM

PHP 配列のキーと値の交換に最適なソリューション: 組み込みの array_flip() 関数を使用します。時間計算量は O(n) です。配列が大きい場合、array_flip() のパフォーマンス上の利点がより明白になります。実際のケース: array_flip() を使用して、ショッピング カート内の製品名の配列を製品数量の配列に変換できます。

PHP配列に要素を追加および削除する方法 PHP配列に要素を追加および削除する方法 Sep 05, 2023 pm 02:12 PM

PHP 配列に要素を追加および削除する方法 PHP では、配列は非常に一般的で重要なデータ構造です。配列は複数の値を保持でき、必要に応じて要素を動的に追加または削除できます。この記事では、PHP で配列要素を追加および削除する方法を説明し、対応するコード例を示します。 1. 角括弧 [] 構文を使用して要素を追加する 要素を追加する最も簡単な方法は、角括弧 [] 構文を使用することです。例は次のとおりです: $arr=["apple",&quo

See all articles