検索
ホームページウェブフロントエンドjsチュートリアルJavaScriptの配列操作方法まとめと3属性の詳細紹介_基礎知識

最近jsを使っていて、jsの配列の操作について勉強したのでまとめておきます。

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 ]]]]); // 配列の末尾に 1 つ以上の新しい要素を追加し、配列の新しい長さを返します
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// まず、1 つ以上の新しい要素を配列に追加します。配列内の要素は自動的にシフトバックされ、新しい要素は配列の長さが返されます

arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//1 つ以上の新しい要素を配列の指定された位置に挿入します。位置を自動的に戻して「」に戻ります。



4. 配列要素の削除
コードをコピーします コードは次のとおりです:
arrayObj.pop(); //最後の要素を削除し、要素の値を返します
arrayObj.shift(); //最初の要素を削除し、要素の値を返します。

arrayObj.splice(deletePos,deleteCount); //指定された位置 deletePos から指定された数の deleteCount 要素を削除し、削除された要素を配列形式で返します


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

コードをコピーします コードは次のとおりです:
arrayObj.slice(start, [end]); //配列の一部を配列形式で返します。end を省略した場合は、start 以降の要素がすべてコピーされます。 🎜>
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //複数の配列 (文字列、または配列と文字列の混合も可能) を配列に連結して返します。接続された新しいアレイ


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 番目の要素が「未定義」になったことを表示します

arr.length=10; //配列の長さを 10 に戻します

alert(arr[8]); //長さは 10 に戻りますが、9 番目の要素は復元できず、「未定義」と表示されます

上記のコードから、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 属性は非常に魔法のようなもので、これを使用すると配列の容量を簡単に増減できます。したがって、長さ属性を深く理解すると、開発プロセス中に長さ属性を柔軟に使用するのに役立ちます。

2. プロトタイプ属性

オブジェクト型のプロトタイプへの参照を返します。プロトタイププロパティはオブジェクトに共通です。

オブジェクト名.プロトタイプ

objectName パラメータは、オブジェクト オブジェクトの名前です。

説明:
プロトタイプ プロパティを使用して、オブジェクトのクラスに基本的な機能セットを提供します。 オブジェクトの新しいインスタンスは、オブジェクトのプロトタイプに割り当てられた操作を「継承」します。

配列オブジェクトの場合、次の例は、prototype 属性の使用法を示しています。

配列内の最大要素値を返すメソッドを配列オブジェクトに追加します。これを実現するには、関数を宣言し、それを Array.prototype に追加して使用します。

コードをコピー コードは次のとおりです:

関数 array_max()
{
var i,
max = this[0];

for (i = 1; i {
If (max

max = this[i];
}

最大値を返します;
}

Array.prototype.max = array_max;

var x = 新しい配列(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 までご連絡ください。
next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)Apr 11, 2025 am 08:23 AM

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)Apr 11, 2025 am 08:22 AM

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScript:Web言語の汎用性の調査JavaScript:Web言語の汎用性の調査Apr 11, 2025 am 12:01 AM

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの進化:現在の傾向と将来の見通しJavaScriptの進化:現在の傾向と将来の見通しApr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

javascriptの分解:それが何をするのか、なぜそれが重要なのかjavascriptの分解:それが何をするのか、なぜそれが重要なのかApr 09, 2025 am 12:07 AM

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

pythonまたはjavascriptの方がいいですか?pythonまたはjavascriptの方がいいですか?Apr 06, 2025 am 12:14 AM

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptをインストールするにはどうすればよいですか?JavaScriptをインストールするにはどうすればよいですか?Apr 05, 2025 am 12:16 AM

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

クォーツでタスクが開始される前に通知を送信する方法は?クォーツでタスクが開始される前に通知を送信する方法は?Apr 04, 2025 pm 09:24 PM

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境