JSベース——配列API(1)
7715 ワード
配列API(1)
スタックの上部に挿入と除去を行います.配列の最後に挿入することができます. 最後の項目 を除去します.
使用は、配列の最初の項目を除去し、 に戻る.は、配列の前端に任意の項目を追加し、新しい配列の長さ をシミュレートすることができる. が必要です. が必要です. が必要です.
を後方に検索する. を検索する.
二つの方法はすべての項目を繰り返して配列し、最終的な戻り値を構築します.(元の配列は変更されません)
パラメータ:各項目で呼び出した関数と、正規化の基礎となる初期値(オプション).変更関数は4つのパラメータを受信します.前の値、現在の値、項目の索引と配列オブジェクトです. まで巡回します. を巡回します.
(後進先出)スタックの上部に挿入と除去を行います.
push
とpop
方法を結合(元の配列を変更する)push
var arr=[1,2,3];
var m=arr.push('m');
console.log(m); // 4 , ,
console.log(arr); // [1, 2, 3, "m"]
pop
var arr=[1,2,3];
var n=arr.pop();
console.log(n); // 3 ,
console.log(arr); // [1, 2]
(先入先出)使用
shift
方法(配列の最初の項目を除去し、アイテムを返し、時間配列の長さを1つ減らします.)push
は、操作キューのように配列を操作することができる(元の配列が変更される).shift
var arr=[1,2,3];
var s=arr.shift();
console.log(s); // 1 ,
console.log(arr); // [2, 3]
unshift
を返し、unshift
およびpop
を使用して、反対の方向からキューvar arr=[1,2,3];
var l=arr.unshift(4,5);
console.log(l); // 5 ,
console.log(arr); // [4, 5, 1, 2, 3]
(元の配列が変更されます)reverse
var arr=[1,2,3];
arr.reverse();
console.log(arr); // [3,2,1]
sort
var arr=[1,8,10,22,31,3];
arr.sort();
console.log(arr); // [1, 10, 22, 3, 31, 8]
sort
は私達が予想したように並べ替えられていません.sort
並べ替え時に、配列の各項目を呼び出します.toString()
方法は、配列のすべての項目が数字であっても、文字列に変換して比較するもので、一般的にsort
方法は、順序付けを行うために比較関数を受け入れる.var arr = [1, 8, 10, 22, 31, 3];
function compare(v1, v2) {
if (v1 < v2) {
return -1;
} else if (v1 > v2) {
return 1;
} else {
return 0;
}
}
arr.sort(compare);
console.log(arr); // [1, 3, 8, 10, 22, 31]
//
function compare(v1, v2) {
return v1 - v2;
}
reverse
とsort
の戻り値は、順序付けされた配列である.
concat
は、現在の配列のすべての項目に基づいて新しい配列を作成します.slice
は、現在の配列のうちの1つまたは複数の項目に基づいて新しい配列を作成し、戻り値は新しい配列である(元の配列を変更することができる).
は、2つのパラメータ、開始位置、および削除するエントリ数var arr = ['a', 'b', 'c']
//
var arr1 = arr.concat([]);
var arr2 = arr.concat();
//
var arr3 = arr.concat('');
var arr4 = arr.concat(null, undefined);
var arr5 = arr.concat('d');
//
var arr6 = arr.concat(['d', 'e', 'f']);
//
var arr7 = arr.concat('m', 'n', ',', ['d', 'e', 'f']);
//
var arr8 = arr.concat(['d', 'e', 'f', ['x', 'y']]);
//
var arr9 = arr.concat(['m', 'n', ','], ['d', 'e', 'f']);
console.log(arr) // ["a", "b", "c"]
console.log(arr1) // ["a", "b", "c"]
console.log(arr2) // ["a", "b", "c"]
console.log(arr3) // ["a", "b", "c", ""]
console.log(arr4) // ["a", "b", "c", null, undefined]
console.log(arr5) // ["a", "b", "c", "d"]
console.log(arr6) // ["a", "b", "c", "d", "e", "f"]
console.log(arr7) // ["a", "b", "c", "m", "n", ",", "d", "e", "f"]
console.log(arr8) // ["a", "b", "c", "d", "e", "f", Array(2)]
console.log(arr9) // ["a", "b", "c", "m", "n", ",", "d", "e", "f"]
は、3つのパラメータ、開始位置、削除するエントリ数(0)、挿入するエントリ// , 0
var arr = ['a', 'b', 'c', '1', '2', 's']
var arr1 = arr.splice(3, 0)
console.log(arr); // ['a', 'b', 'c', '1', '2', 's']
console.log(arr1); // []
// , 2
var arr = ['a', 'b', 'c', '1', '2', 's']
var arr2 = arr.splice(3, 2)
console.log(arr); // ["a", "b", "c", "s"]
console.log(arr2); // ["1", "2"]
//
var arr = ['a', 'b', 'c', '1', '2', 's']
var arr3 = arr.splice(7, 1)
console.log(arr);
console.log(arr3);
//
var arr = ['a', 'b', 'c', '1', '2', 's']
var arr4 = arr.splice(-2, 2)
console.log(arr); // ["a", "b", "c", "1"]
console.log(arr4); // ["2", "s"]
// ,
var arr = ['a', 'b', 'c', '1', '2', 's']
var arr5 = arr.splice(2,-2)
console.log(arr); // ["a", "b", "c", "1", "2", "s"]
console.log(arr5);// []
は、3つのパラメータ、開始位置、削除するエントリ数(0)、挿入するエントリ// ,
var arr = ['a', 'b', 'c', '1', '2', 's']
var arr2 = arr.splice(2,0,'x')
console.log(arr); //["a", "b", "x", "c", "1", "2", "s"]
console.log(arr2); // []
(元の配列は変更されません)
が検索する項目と開始位置(オプション)、検索する項目は===
は動作して、完全に等しくなければならなくて、探し出して、位置の下付きを返して、探し当てていないで、帰ります.-1
indexOf
は、配列開始位置からlastIndexOf
は、配列の最後から前へ
(元の配列は変更されません)
の2つのパラメータは、各項目で実行される関数と、その関数を実行するためのスコープオブジェクト(オプション)に影響を与える.this
の値.some
は、配列の各々に所定の関数を実行し、いずれもtrue
に戻るとtrue
に戻る.every
は、配列の各々に所定の関数を実行し、各項目がtrue
に戻るとtrue
に戻る.filter
は、配列内の各項目に所定の関数を実行し、true
の項からなる行列を返します.//
var arr = ['a', 'b', 'c', '1', '2', 's']
var arr1 = arr.splice(2,2,'x')
console.log(arr); // ["a", "b", "x", "2", "s"]
console.log(arr1); // ["c", "1"]
//
var arr = ['a', 'b', 'c', '1', '2', 's']
var arr3 = arr.splice(2, 0, 'x', [1, 2, 3])
console.log(arr); // ["a", "b", "x", Array(3), "c", "1", "2", "s"]
console.log(arr3); // []
forEach
は、行列内の各項目に所定の関数を実行し、この方法には戻り値がない.map
は、配列内の各項目に所定の関数を実行し、その関数が呼び出される度に構成される行列を返します.(map関数にreturn
がない場合、1つの長さが要素群の値undefined
に等しい配列を返す)var arr = [-1, 22, 4, -2, 19, 0]
var result = arr.filter(function(ele, index, arr) {
return (ele > 0)
})
console.log(arr); // [-1, 22, 4, -2, 19, 0]
console.log(result); // [22, 4, 19]
(ES 5追加)二つの方法はすべての項目を繰り返して配列し、最終的な戻り値を構築します.(元の配列は変更されません)
パラメータ:各項目で呼び出した関数と、正規化の基礎となる初期値(オプション).変更関数は4つのパラメータを受信します.前の値、現在の値、項目の索引と配列オブジェクトです.
reduce
は、行列の最初の項目から順に最後のreduceRight
は、行列の最後の項目から1つずつ最後のvar arr = [-1, 22, 4, -2, 19, 0]
var result = arr.map(function(ele, index, arr) {
return (ele * 2)
})
console.log(arr); // [-1, 22, 4, -2, 19, 0]
console.log(result); // [-2, 44, 8, -4, 38, 0]
//
var arr = [1, 2, 3, 4, 5]
var result = arr.reduce(function(pre, cur, index, arr) {
return pre + cur
}, 0)
console.log(arr); //[1, 2, 3, 4, 5]
console.log(result); //15