JSの配列と配列の一般的な方法
プログラミング言語のすべての言語は、保存されたデータの1つ以上のセットを定義しJavaScript
ます。もちろん、それも例外ではありません。
JSでは、配列を使用してデータを格納しますが、配列とは正確には何ですか?
配列の概念
-
配列の本質は、関連データを格納できるコレクションのセットです。
-
アレイは、その中のデータに対する一連の便利なアクセスおよび取得方法を提供します
-
配列の各メンバーは要素と呼ばれ、配列には任意の数のデータと任意のタイプのデータを格納できます。つまり、JS配列の要素タイプは異なる場合があります。
-
配列内の要素はコンマで区切られます
アレイの作成
1つ:キーワードnewを使用して作成します
var arr1 = new Array(); //创建空数组
var arr2 = new Array(10); //创建一个长度为10的数组
var arr3 = new Array(5,4,3,2,1); //创建数组并初始化
- 配列の作成方法の
new
後にはArray
、配列インデックスを使用して配列を追加できます。
2:[]を直接使用して作成する
var arr = []; //创建一个空数组
var arr2 = [1,2,3]; //创建一个有三个元素的数组
[]
配列作成の2番目の方法では、この方法を使用して配列を作成すると、要素を直接入力できます[]
。
配列インデックス
インデックスの概念
-
要素の位置を示す配列内の特別なシーケンス番号
-
最初
数组名[索引
からインデックスである要素を取得できますが、0
正の数しか取得できません -
配列要素へのアクセス、設定、および変更を完了するには、インデックスを使用する必要があります
インスタンス
var arr = [1,2,3];
alert(arr[2]);
注意:
- 配列にアクセスするときに、使用されるインデックスが要素のインデックスの対応する範囲を超える場合、対応するデータを取得する方法がないため、返される結果は次のようになります。
undefined
- 配列内の要素がどのように変化しても、配列内のインデックスは常に
0
最初から連続しています。
配列の長さ
JS
配列内の配列の長さは、配列内の要素の数を指し、配列のインデックスとは関係ありません。- 配列内の要素の数が変わると
length
、それに応じて値も変わります
長さの構文
var arr = [1, 2, 3]
alert(arr.length)//可以获取到数组的长度
注意:
JSの配列のlengthプロパティは変更できます
- 場合
length
値は、元の配列内の要素の数よりも大きい場合、空の要素を充填するために使用されます。 - 場合
length
値は、元の配列の要素数よりも小さい場合、余分な要素は、最後から1つの開始ずつ削除され、削除が不可逆的です。
アレイトラバーサル
トラバーサルの概念
-
配列のすべての要素に最初から最後までアクセスします。
-
配列内の要素のインデックスは繰り返されず、配列のインデックスは連続している必要があるため、
for
ループ構文を使用して配列を走査できます。 -
配列をトラバースする前に、配列内の要素の数を知る必要があるため、配列の属性を使用し
length
て配列の長さを取得します
配列に新しい要素を追加します
配列に要素を追加する方法
1つは、インデックスを使用して要素を追加する
例:
var arr = [1, 2, 3, 4, 5, 6]
arr[arr.length] = 8
document.write(arr)
//最后的结果:1,2,3,4,5,6,8
注意:
- インデックスを使用して配列を追加する場合、追加された要素のインデックス値は元の配列の長さである必要があります
- 使用されるインデックスが配列の長さよりも短い場合、配列内の対応するインデックスの位置が変更されます
- 使用されるインデックスが配列の長さを超える場合、中央の余分な要素の位置は空の要素で埋められます
次に、push()
関数を使用して追加します
インスタンス
var arr = [1, 2, 3, 4, 5, 6]
arr.push(8)
document.write(arr)
//最后的结果:1,2,3,4,5,6,8
配列の一般的な方法
配列JavaScript
はでよく使用されます。配列を追加、削除、および変更することは非常に重要です。配列の一般的な方法は次のとおりです。
配列の最後に要素を挿入します
arr.push(value)
、1つ以上の要素を配列の最後に追加し、配列の新しい長さを返します。
例えば:
let arr=[1,2,3,4,5]
var longth=arr.push(6,7);
console.log(arr, longth);
- 配列
arr
の値はarr[1,2,3,4,5,6,7]
;になります。 length
受信した戻り値は、変更された配列の長さ7
です。
配列の最後にある要素を削除します
arr.pop()
インデックス値が最大の要素を削除し、削除された要素を返します。
let arr=[1,2,3,4,5]
var delElement=arr.pop();
console.log(arr, delElement);
arr
値は[1,2,3,4]
、delElement
値は5
arr.pop()
とのarr.length
効果は同じarr.length
ですが、戻り値はありません。
配列の先頭に要素を挿入します
unshift(value);
配列の先頭に1つ以上の要素を追加し、配列の新しい長さを返します
let arr=[1,2,3,4,5]
var length= unshift(0);
console.log(arr,length);//arr的值为[0,1,2,3,4,5];length的值为更改后数组的长度6;
配列のhead要素を削除します
shift();
インデックスがで0
ある要素を削除し、削除された要素を返します
let arr=[1,2,3,4,5]
var delElement= unshift();
console.log(arr, delElement);
arr
値は[2,3,4,5]
;delElement
値は削除された要素1
です;
配列と配列(または要素)の組み合わせ
concat()
配列または要素を組み合わせて、新しい配列を返します。元の配列は変更されません
let arr=[1,2,3,4,5]
let newArr=arr.concat([6,7,8],9,10);
console.log(newArr,arr);
newArr
値は[1,2,3,4,5,6,7,8,9,10]
;です。arr
の値はまだ元の値[1,2,3,4,5]
です;concat()
新しいアレイをコピーすることもできます。let copyArr=arr.concat();
//copyArr
値はarr
と同じです
配列内の要素の削除または置換を追加します
splice();
任意の位置で要素を追加または削除し、削除または置換された値を返します。削除または置換されていない場合は、空の配列を返します。splice()
このメソッドは、元の配列の値を変更します。
値が1つしかない場合は、現在の位置から配列の最後まで削除します
let arr=[1,2,3,4,5];
let num1=arr.splice(1)
console.log(num1;arr)//num=[2,3,4,5];arr=[1];
2つの値がある場合、最初の値は削除された位置であり、2番目の値は削除された数です。
let arr=[1,2,3,4,5];
let num1=arr.splice(2,3)//删除从索引值2开始的3个元素
console.log(num1;arr);// num1=[3,4,5],arr=[1,2]
3つ以上の値がある場合、最初の値は挿入された要素の位置、2番目の値は置換の数、次の値はすべて挿入された新しい要素です。
let arr=[1,2,3,4,5];
let num2=arr.splice(2,1,6,7,8);//从索引值2开始替换掉1个元素,并且插入6,7,8
//如果第二个值为0,则不替换,直接插入6,7,8;
console.log(num2;arr);//被替换的值num2=[3]; arr=[1,2,6,7,8,4,5]
コピーされた配列の指定された位置の内容をインターセプトします
slice(开始位置,结束位置);
2番目のパラメーターはデフォルトでは最後まで書き込まれず、前から後ろにのみインターセプトできます。戻り値は、インターセプトされたコンテンツによって形成された新しい配列です。
let copyArr=arr.slice(); // slice()或者slice(0)都可以复制数组;
let arr=[1,2,3,4,5];
let newArr=arr.slice(1,3);//截取索引1到索引3(不包括3)的值;
console.log(newArr,arr);//newArr=[2,3];arr=[1,2,3,4,5];
slice()
メソッドは元の配列の値に変更されません
文字接続文字列を指定します
join();
配列の各要素は、指定された文字に接続されて新しい文字列を形成し、戻ります。
let arr=[1,2,3,4,5];
let newArr=arr.join()//默认用逗号连接
console.log(newArr);//newArr=1,2,3,4,5;
//如果连接符为空字符串,则会无缝连接
console.log(arr.join(“”));//输出为12345;
配列を並べ替える
sort()
配列を並べ替え(昇順)、新しい配列を返します。元の配列も変更されます。
let arr=[2,3,5,1,4];
let newArr=arr.sort();
console.log(newArr,arr);//newArr=[1,2,3,4,5]; arr r=[1,2,3,4,5]
配列を反転します
reverse();
配列の順序を逆にして新しい配列を返すことができ、それに応じて元の配列が変更されます。
let arr=[1,2,3,4,5];
let newArr=arr. reverse();
console.log(newArr,arr);//newArr=[5,4,3,2,1]; arr=[5,4,3,2,1];