配列Aray学習ノート
4622 ワード
「ECMAScript配列は他の言語の配列とともにデータの系列表ですが、他の言語とは異なり、ECMAScript配列の各項目は任意の種類のデータを保存できます.つまり、配列の最初の位置で文字列を保存し、第二の位置で数値を保存し、第三の位置でオブジェクトを保存します.また、ECMAScript配列のサイズは、データの追加に伴って自動的に増加し、新規データを格納することができる動的に調整できる.
沢カス.「JavaScriptアドバンストプログラミング(第3版)」から抜粋.iBook s.
作成
スタック方法&キュー方法
スタック方法
スタックはLIFO(Last-Inn-First-Out)のデータ構造であり、最新に追加された項目は最初に取り除かれる.
push&pop
キューデータ構造のアクセス規則はLIFOです.
push&shift
E 7およびより早いバージョンは、JavaScriptの実装において偏差があり、そのunshift()方法は常にundefinedに戻り、配列の新しい長さではなく、undefinedに戻る.IE 8は、非互換モードで正確な長さ値を返します.
逆転セ
反転配列
デフォルトでは、sort()メソッドは昇順に配列された配列項目のうち、一番小さい値が一番前にあり、一番大きい値が一番後ろにある.順序付けを実現するために、sort()方法は、各配列項目のtoString()変換方法を呼び出し、その後、得られた文字列を比較して、どのように並べ替えられているかを決定する.配列の一つ一つが数値であっても、ソート()の比較方法は文字列です.
cat
コピーしてコピーを返します.
削除
indexOf
索引を返します.前から後まで
索引を返します.
every
配列内の各項目に対して指定された関数を実行します.各項目に対してtrueを返すと、trueを返します.
配列内の各項目に対して与えられた関数を実行します.この関数がいずれかの項目に対してtrueを返すと、trueを返します.
配列内の各動作に与えられた関数を返します.この関数はtrueの項目からなる行列を返します.
配列内の各項目に対して与えられた関数を実行し、各関数が呼び出した結果からなる行列を返します.
配列内の各項目に対して、与えられた関数を実行します.この方法は戻り値がない.
reduce
s 7は、配列にある値が含まれていればtrueに戻ります.
沢カス.「JavaScriptアドバンストプログラミング(第3版)」から抜粋.iBook s.
作成
var arr = [];
var arr = new Array();
var arr = [1,2,3];
var arr = new Array(1,2,3);
var arr = new Array(3); // [undefined,undefined,undefined]
var arr = ['red','blue','yellow'];
var arr = new Array('red','blue','yellow');
検出arr instanceof Array //true
Array.isArray(arr) //true
変換var arr = [1,2,3]
arr.toString();
arr.valueOf();
arr.toLocaleString();
// return 1,2,3
toLocale String()方法は、toString()とvalueOf()方法と同じ値を返すことが多いが、いつも同じではない.配列のtoLocareStering()メソッドを呼び出すと、カンマ区切りの配列値の文字列も作成されます.前の2つの方法と唯一の違いは、今回は各項目の値を取得するために、各項目のtoLocal e-String()方法ではなく、tostring()方法を呼び出すことである.スタック方法&キュー方法
スタック方法
スタックはLIFO(Last-Inn-First-Out)のデータ構造であり、最新に追加された項目は最初に取り除かれる.
push&pop
var arr = [1,2];
arr.push(3); //3
alert(arr); //[1,2,3]
arr.pop(); //3
alert(arr); //[1,2]
キューの使い方キューデータ構造のアクセス規則はLIFOです.
push&shift
var arr = [1,2];
arr.push(3); //3
alert(arr); //[1,2,3]
arr.shift(); //1
alert(arr); //[2,3]
unshiftE 7およびより早いバージョンは、JavaScriptの実装において偏差があり、そのunshift()方法は常にundefinedに戻り、配列の新しい長さではなく、undefinedに戻る.IE 8は、非互換モードで正確な長さ値を返します.
var arr = [1,2];
arr.unshift(1); // length 3
alert(arr); //[1,2,3]
並べ替え逆転セ
反転配列
var arr = [1,2,3];
arr.reverse();
alert(arr); //[3,2,1]
ソフトデフォルトでは、sort()メソッドは昇順に配列された配列項目のうち、一番小さい値が一番前にあり、一番大きい値が一番後ろにある.順序付けを実現するために、sort()方法は、各配列項目のtoString()変換方法を呼び出し、その後、得られた文字列を比較して、どのように並べ替えられているかを決定する.配列の一つ一つが数値であっても、ソート()の比較方法は文字列です.
var arr = [1,5,10,15];
arr.sort(); // [1,10,15,5];
/* 5 10, ,"10" "5" , 。*/
function compare(value1,value2){
if(value1 > value2){
return -1;
}else if(value1 < value2){
return 1;
}else{
return 0;
}
}
arr.sort(compare); //[1,5,10,15]
function compare(value1,value2){
if(value1 > value2){
return 1;
}else if(value1 < value2){
return -1;
}else{
return 0;
}
}
arr.sort(compare); //[15,10,5,1]
操作cat
コピーしてコピーを返します.
var arr = [1,2];
arr.concat(3,4,5); //[1,2,3,4,5]
alert(arr); //[1,2]
slicevar arr = [1,2,3,4];
arr.slice(1) //[2,3,4]
arr.slice(1,3); //[2,3]
arr.slice(-1); //[4]
arr.slice(-1,-3); //[]
arr.slice(-3,-1); //[2,3]
splice削除
var arr = [1,2,3];
arr.splice(1,1); //[1,3]
増加var arr = [1,2,3];
arr.splice(1,0,4); //[1,4,2,3]
arr.splice(1,0,'a','b'); //[1,'a','b',4,2,3]
置換の挿入var arr = [1,2,3];
arr.splice(1,1,4); //[1,4,3]
位置indexOf
索引を返します.前から後まで
var arr = [1,2,3];
arr.indexOf(2); //1
lastIndexOf索引を返します.
var arr = [1,2,3];
arr.lastIndexOf(2); //1
反復every
配列内の各項目に対して指定された関数を実行します.各項目に対してtrueを返すと、trueを返します.
var arr = [1,2,3];
arr.every(function(item,index,arr){
return item > 2;
})
// false
そして私配列内の各項目に対して与えられた関数を実行します.この関数がいずれかの項目に対してtrueを返すと、trueを返します.
var arr = [1,2,3];
arr.some(function(item,index,arr){
return item > 2;
})
// true
filter配列内の各動作に与えられた関数を返します.この関数はtrueの項目からなる行列を返します.
var arr = [1,2,3];
arr.filter(function(item,index,arr){
return item > 2;
})
// [3]
map配列内の各項目に対して与えられた関数を実行し、各関数が呼び出した結果からなる行列を返します.
var arr = [1,2,3];
arr.map(function(item,index,arr){
return item > 2;
})
// [false,false,true]
arr.map(function(item,index,arr){
return item * 2;
})
//[2,4,6]
forEach配列内の各項目に対して、与えられた関数を実行します.この方法は戻り値がない.
var arr = [1,2,3];
arr.forEach(function(item,index,arr){
item > 2 ? console.log(' 2') : console.log(' 2');
})
// 2 2 2
縮小reduce
およびreduceRight
の2つの方法は、配列のすべての項目を反復し、最終的な戻り値を構築する.reduce
var arr = [1,2,3];
arr.reduce(function(prev,cur,index,arr){
return prev + cur;
})
//1+2+3=6
reduceRightvar arr = [1,2,3];
arr.reduceRight(function(prev,cur,index,arr){
return prev + cur;
})
includess 7は、配列にある値が含まれていればtrueに戻ります.
var arr = [1,2,3];
arr.includes(2); //true