検索

JS—配列

Dec 06, 2016 am 11:20 AM

Array (配列オブジェクト)
配列はオブジェクトです。配列は、順序付けられた値のコレクションです。各値は要素 (任意のタイプ) と呼ばれ、各要素には配列内の位置があり、インデックス (0-232-2) と呼ばれる数値で表されます。
1. 配列を作成します
1. 配列リテラル (直接量) を使用します
var empty=[];//空の配列
var miss=[1.1,true,"a",[1,{x:1,y: 2}]];//要素の型が異なります
var count=[1,,2];//要素は 3 つあり、途中の省略された値は未定義です
var undefs=[,,];//要素は 2 つありますが、これも 3 つに解析されるため、これは行わないでください
2. コンストラクター Array() を呼び出します
var a=new Array();//パラメータなし、空の配列と同等
var a=new Array(10); //長さ 10 の配列を指定します
var a=new Array(10, 4, "hhhh"); // 配列要素を指定しますが、リテラルを使用することは適切ではありません。メソッドを直接使用する
2. 配列要素の読み取りと書き込み
var arr =[1,2,3,4,5];//配列の最初の要素 - 2
arr[5]=6 ;//最初の要素を動的に追加します (再定義する必要はありません) 5 つの要素 - 6
delete arr[0]; 最初の要素は削除されますが、配列の長さは 6 のままで、最初の要素は未定義です
3。スパース配列には、0 から始まる要素が含まれます。 不連続にインデックスが付けられた配列。一般に、length 属性の値は実際の要素数より大きくなります
var arr1=[unknown];
var arr2=new Array(1);//arr1 の var arr2=[,]; と同じです。 true を返します。インデックス 0
0 に要素があります。 arr2; // false を返します。インデックス 0 には要素がありません。 配列属性
length: arr1.length
5. 0;i6. 多次元配列
arr[][]

//多次元配列を作成します
var table=new Array(10);//テーブルには10 rows
for(var i=0;i table[i]=new Array(10) //各行には 10 列があります
//配列を初期化します
for(var row=0) ;row

for( varcol=0;coltable[row][col]=row*col
}
}
//複数を使用します。次元配列の計算
var product=table[5][7]; //結果は 35
Seven. Array メソッド




1.join()
配列内のすべての要素を文字列に変換し、それらを結合します。文字列を返す場合は、要素を区切るための区切り文字を指定できます。指定されていない場合は、デフォルトの「,」で区切られます。
var arr=[1,2,3];
arr.join();//”1,2,3”
arr.join(”_”);//”1_2_3”


2.reverse( )
配列内の要素の順序を反転し、反転した配列を返します。元の配列は変更されます
var arr=[1,2,3];//[3,2,1] ]




3.sort()
配列内の要素をソートし、ソートされた配列を返すと、元の配列が変更されます。要素が未定義の場合は、最後までソートされます
arr=["a","c","b"];//["a","b","c" "] このメソッドがパラメーターなしで呼び出された場合、要素はアルファベット順にソートされます

arr=[13,24,51,3];
arr.sort() ;//[13,24,3,51] Convert次に、文字列が比較され、各数値の最初の桁が小さい順に並べ替えられます

arr.sort(function(a,b){
return a-b;//順序に従って、[3,13] ,24,51]
})

arr.sort(function(a,b){
return b-a;//逆順, [51,24,13,3]
})



4.concat( )
配列をマージします。元の配列は変更されません

var arr=[1,2,3];
arr.concat(4,5);//[1,2,3,4,5]
arr。 concat([4,5],6) ;//[1,2,3,4,5,6] パラメータが配列の場合、配列はフラット化されます
arr.concat(4,[5,[6] ,7]]);//[1,2, 3,4,5,[6,7]] パラメーターが配列の場合、配列要素は依然として配列であり、配列は 2 回フラット化されません




5.slice()
指定された配列のフラグメントまたはサブ配列を返します。その 2 つのパラメーターはそれぞれセグメントの開始位置と終了位置を指定します。通常は、左が閉じた間隔、右が開いた間隔になります。変更されました

var arr=[1,2,3,4,5];
arr.slice(1, 3);//[2,3]
arr.slice(1);//[2,3, 4,5] にはパラメータが 1 つだけあり、このパラメータは開始位置とみなされ、終了位置は配列
arr の末尾になります。//[2,3,4] 負の数。配列内の最後の要素に対する相対的な位置を表し、-1 は要素 5 を表します
arr.slice(-4,-3);//[ 2]




6.splice()
要素の挿入または削除配列では、元の配列が変更されます

var arr=[1,2,3,4,5]
arr.splice(2);/ /[3,4,5] は 2 番目の位置から要素を削除します。最後

arr.splice(2,2);//[3,4] 2 番目のパラメータは削除された要素の数を示します。つまり、2 番目の位置から始まる 2 つの要素を削除します

arr.splice(1, 1,"a","b"); //[2] 先頭から 1 要素を削除し、ここに "a" と "a" を挿入します "b"
arr;//[1, "a"," b",3,4,5]



7.push() と Pop()
配列をスタックとして使用して、元の配列が変更されます。
push() は配列の末尾に 1 つ以上の要素を追加し、配列の新しい長さを返します。
pop() は配列の最後の要素を削除し、配列の長さを減らし、削除された値

var を返します。 stack=[];
stack.push(1,2);//配列の長さ2を返す
stack.pop();//末尾の削除された要素2を返す



8.unshift() () 配列の先頭に
unshift() 1 つ以上の要素を追加し、配列の新しい長さを返します。
shift() は配列の最初の要素を削除し、削除された値を返します

var arr=[];
arr.unshift(2);//配列の長さ 1 を返します
arr.unshift(22);//配列の長さ 2 を返します、この時点では arr=[22,2]
arr.shift();//先頭を削除した要素 22 を返します




9.toString() および toLocaleString()
toString() は配列を "," で区切られた文字列に変換します
toLocaleString() は配列を文字列に変換しますローカリゼーション区切り文字を使用します

[1,[2,"c"] ].toString()//Return "1,2,c"





8. ECMAScript5 の配列メソッド
ECMAScript5 は 9 つの新しい配列メソッドを定義しますArray

1.forEach()
Array の走査、マップ、フィルター、検出、簡素化、検索を行うには、パラメーターは関数です。この関数は、要素、インデックス、配列自体の 3 つのパラメーターを使用して呼び出すことができます。

var arr=[1,2,3,4,5];
var sum=0;
arr.forEach(function(value){
sum+=value; // 配列を走査し、各値を合計します
});
sum;//15

arr.forEach(function(v,I,a){ //要素、インデックス、配列自体の 3 つのパラメータを使用してこの関数を呼び出します
a[i]=v+1 ;
})



追記: このメソッドは for のようにトラバーサルを早期に終了できないため、try ブロックに入れてください。 }catch(e){
if(e==foreach.break)return;
else throw e;
}
foreach,break=new Error(“StopIteration”); 2.map()
配列マッピング、元の配列は変更されていません

var arr=[1,2,3]
arr.map(function(x){
return x+10;
});/ /return [11 ,12,13]



3.filter()
配列のフィルタリング、元の配列は変更されず、返される配列は常に密です

var arr=[1,2,3,4,5 ,6,7 ,8,9,10];
arr.filter(function(x,index){
returnindex%3==0||x>=8;
});//[1,4, 7,8, 9,10]

4.every() と some()
配列の論理判断、true または false を返し、返されるべき値が確認されると、配列の走査を停止します
every () は論理「AND」に相当します。すべての要素が判定関数を呼び出して true を返す場合にのみ true を返します。
some() は論理「OR」に相当します。少なくとも 1 つの要素が判定関数を呼び出して true を返す場合、 return true

var arr=[1,2,3,4 ,5];
arr.every(function(x){
return x});//true
arr.every(function(x) ){
return x});//false

var arr=[1,2,3,4,5];
arr.some(function(x){
return x==3;
});//true
arr.every(function(x) {
return x==10;
});//false

追記: 空の配列で呼び出された場合。 Every() は true を返し、some() は false を返します

5.reduce() と reduceRight()
指定された関数を使用して配列要素を結合し、単一の値を生成します。元の配列は変更されません
reduce() には 2 つの値があります1 つ目はリダクション操作を実行する関数です。2 つ目は関数に渡される初期値です。reducedRight() のリダクション操作は右から左へ行われます。残りは、reduce() と同じです。 var arr=[1 ,2,3];
var sum=arr.reduce(function(x,y){
return x+y;
},0);//つまり、左から右に 6 を返します。 0+1=1,1 +2=3, 3+3=6

var sum=arr.reduceRight(function(x,y){
return x+y;
});// 6 を返します、つまり、3+2= 右から左へ 5,5+1=6
6.indexOf() および lastIndexOf()
配列の取得、最初に見つかった要素のインデックスを返し、見つからない場合は -1 を返します
indexOf() の検索最初から最後まで
lastIndexOf() から開始します 前後方向に検索します

var arr=[1,2,3,2,1];
arr.indexOf(2);//要素 2 のインデックスを検索し、1 を返します
arr.indexOf(4);//要素 4 のインデックスは存在しないため、-1 を返します
arr.indexOf(1,1);//最初の位置から開始して要素 1 のインデックスを検索します、4を返します
arr.indexOf(1,-3);//要素 1 のインデックスを検索、下から 3 番目から開始、4 を返す
arr.lastIndexOf(2,-2);//要素 2 のインデックスを検索、開始下から3番目から 2桁で検索を開始し、後ろから前に検索し、3を返します


9。 配列型
Array.isArray([]);//true
Array.isArray({}); //false

[]instanceof Array;//true
({})instanceof Array;//false

({}).toString.apply([])===”[オブジェクト配列]”;//本当です
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python vs. JavaScript:開発環境とツールPython vs. JavaScript:開発環境とツールApr 26, 2025 am 12:09 AM

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

JavaScriptはCで書かれていますか?証拠を調べるJavaScriptはCで書かれていますか?証拠を調べるApr 25, 2025 am 12:15 AM

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptの役割:WebをインタラクティブでダイナミックにするJavaScriptの役割:WebをインタラクティブでダイナミックにするApr 24, 2025 am 12:12 AM

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScript:接続が説明しましたCおよびJavaScript:接続が説明しましたApr 23, 2025 am 12:07 AM

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

Webサイトからアプリまで:JavaScriptの多様なアプリケーションWebサイトからアプリまで:JavaScriptの多様なアプリケーションApr 22, 2025 am 12:02 AM

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Python vs. JavaScript:ユースケースとアプリケーションと比較されますPython vs. JavaScript:ユースケースとアプリケーションと比較されますApr 21, 2025 am 12:01 AM

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

JavaScript通訳者とコンパイラにおけるC/Cの役割JavaScript通訳者とコンパイラにおけるC/Cの役割Apr 20, 2025 am 12:01 AM

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

JavaScript in Action:実際の例とプロジェクトJavaScript in Action:実際の例とプロジェクトApr 19, 2025 am 12:13 AM

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。