JavaScript二次元配列の一般的な方法と順序付け
31124 ワード
多次元配列:多次元配列は実際には配列の配列であり、指数グループの各要素も配列である. JavaScriptにおける二次元配列の列の長さは一意でなくてもよい. 二次元配列の作成: 二次元配列の読み書き:二次元配列の読み書き用配列名[][]の方式で、第一括弧内は行数であり、0から数え、第二括弧内は列数であり、0から数えている. は、値に基づいて要素の位置を検索する2つの方法があります.indexOf()とlastIndexOf()は、この要素に初めて会ったときのインデックスを返します. indexOf()インデックスの小さいところから検索を打ち出します.lastIndexOf()は反対です. 両の方法はいずれも二つのパラメータがあり、第一のパラメータは検索する要素であり、第二のパラメータはオプションであり、検索の起点インデックスである. の2番目のパラメータは負であり、−1は下から1番目の要素を表し、−2は下から2番目の要素を表し、順次類推する. concat()は、配列a.co ncat(配列b)の形をしており、統合後に新しい配列に戻り、新しい配列は配列aの後に配列bを接続するが、配列aおよびbは変化しない. reverse()は、配列反転を実現し、パラメータなしで倒置後の配列に戻り、同時にこの方法を呼び出す配列も倒置される.その場で逆置と呼ぶ. join()は、配列のすべての要素を連結して文字列を構成し、パラメータは要素間の区切り記号であり、デフォルトのカンマは書かれていない. sort()はデータ要素の並べ替えを実現して、このパラメータの表示要素を持たないでASCIIテーブルによって小さいから大きいまで並べ替えます. バンドパラメータの昇順配列は、次のようになっています.a,bは2つのパラメータであり、a−bに戻り、昇順に並べられます.b-aを返し、降順に並べます.配列名.sort(function(a,b){return a-b;/昇順配列} パラメータの降順配列は、配列名.sort(a,b){return b-a;/降順配列}; slice()は、元の配列を変更しないようにカットされたサブアレイを返す. は、2つの整数パラメータaとbを有し、aは、サブアレイに属する切断の起点を表している.bオプション(bは書かなくても良い)は、カットの終点を表し、この点はサブアレイに属さない. a、bはすべて負の数とすることができ、例えば−1は最後から一番目の位置を表す. 発泡体秩序の外層サイクルiは、発泡体の数を制御し、配列長−1である. 内の循環j初期値は0で、上限はarr.length-iであり、泡が発生するにつれて、これから比較が必要となる配列のインデックス上限は小さい. 順序選択 は配列を巡回して、次の各最大要素のインデックス値を記録して、最大要素と最後の要素ごとに位置を交換します.
//
var multiArr=[[1,2,3,4],[5,6,7],[8,9]];
// 4 6
var muArr = new Array(4);
for(var i = 0;i <4;i++) {
muArr[i] = new Array(6);// ,
}
var multiArr=[[1,2,3,4],[5,6,7],[8,9]];
for(var i=0;i<multiArr.length;i++){
for(var j=0;j<multiArr[i].length;j++){
document.write(multiArr[i][j]+" ");
}
document.write("
");//
}
/*
:
1 2 3 4
5 6 7
8 9
*/
配列の一般的な方法(1)要素の位置を検索します. // 0 1 2 3 4 5 6 7 8 9
var search = ["a","b","a","b","c","d","a","a","b","a"];
//
console.log(search.indexOf("a"));// 0
//
console.log(search.lastIndexOf("a"));// 9
console.log(search.indexOf("b",2));// 3, 2 , b 3
console.log(search.indexOf("a",-1));// 9, 8 , a 9
console.log(search.lastIndexOf("a",-2));// 7, 7 , a 7
(2)配列の結合 var a = [1,2,3];
var b = [4,5,6];
var c = a.concat(b);//
console.log(c);// [1,2,3,4,5,6]
(3)配列反転 var a = [1,2,3,4];
var b = a.reverse();
console.log(a);// [4,3,2,1]
console.log(b);// [4,3,2,1]
(4)要素結合 var sArray = ["June","July","August"];
console.log(sArray.join());// June,July,August
console.log(sArray.join("+"));// June+July+August
(5)要素の並べ替え var stringArray = ["a","ab","b","aa"];
stringArray.sort();
console.log(stringArray);// ["a","aa","ab","b"]
// ,sort()
var arr = [1,2,10,5,12];
arr.sort();
console.log(arr);// [1,10,12,2,5]
arr.sort(function(a,b){
return a-b;
});
console.log(arr);// [1,2,5,10,12]
arr.sort(function(a,b){
return b-a;
});
console.log(arr);// [12,10,5,2,1]
(6)サブアレイの抽出 console.log(arr.slice(0,3));//["a","b","c"]
console.log(arr.slice(0,-2));//["a","b","c"]
console.log(arr.slice(4));//["e"]
console.log(arr.slice(-4));//["b","c","d","e"]
配列並べ替え(1)発泡体の並べ替え //
var arr = [9,5,8,0,2,6];
var temp;
var flag = 0;//
for(var i = 1;i <=arr.length-1;i++) {// arr.length-1
flag = 0;
for(var j = 0;j < arr.length-i;j++) {//
if(arr[j]>arr[j+1]) {//
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
flag = 1;
}
}
if(flag == 0)
break;//
}
console.log(arr);// [0, 2, 5, 6, 8, 9]
//
var arr = [6,12,3,34,1,56,77,0,2,43];
var aLength = arr.length;
var temp;
var max = arr[0];
var maxIndex = 0;
for(var i = 0;i < aLength-1;i++) {// n-1
for(var j = 1;j < aLength-i;j++) {//
if(arr[j] > max) {
max = arr[j];
maxIndex = j;
}
}
//
temp = arr[aLength-i-1];
arr[aLength-i-1] = arr[maxIndex];
arr[maxIndex] = temp;
var max = arr[0];// 0
var maxIndex = 0;// 0
}
console.log(arr);// [0, 1, 2, 3, 6, 12, 34, 43, 56, 77]