ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の一般的なメソッド arrays_javascript スキル

JavaScript の一般的なメソッド arrays_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 16:11:391200ブラウズ

オブジェクトが配列であるかどうかを判断します:instanceof、Array.isArray()

Web ページまたはグローバル スコープの場合は、instanceof 演算子を使用できます。

if(valueinstanceofArray){ //値が配列かどうかを判定します

}
instanceof 演算子は、グローバル実行環境が 1 つだけであることを前提としています。Web ページに複数のフレームが含まれている場合は、ECMAScript5 の新しい Array.isArray() メソッドが使用されます。

if(Array.isArray(value)){//value が配列かどうかを判断します

}
Array.isArray() メソッドでサポートされるブラウザには、IE9、Firefor 4、Safari5、Opera 10.5、および Chrome が含まれます。

このメソッドを実装していないブラウザで配列を確認したい場合は、次を使用します:

if(Object.prototype.toString.call(value)=="[オブジェクト配列]"){
}

配列を文字列に変換: toLocaleString()、toString()、valueOf()、join()

コードをコピーします コードは次のとおりです:

var test=['a','b','c'];
alert(test.toString());//a,b,c
alert(test.toLocaleString());//a,b,c
alert(test.valueOf());//a,b,c
alert(test);//a、b、c デフォルトで toString() メソッドを呼び出します
alert(test.join(','));//a,b,c
alert(test.join('|'));//a|b|c

配列要素を追加および削除するメソッド: Push()、pop()、unshift()、shift()

push() メソッドは、任意の数のパラメータを受け入れ、それらを配列の末尾に 1 つずつ追加し、変更された配列の長さを返すことができます。

pop() メソッドは、配列の末尾から最後の項目を削除し、削除された項目を返します。

unshift() メソッドは、配列の先頭に任意の数のパラメーターを追加し、新しい配列の長さを返します。

shift() メソッドは、配列内の最初の項目を削除し、削除された項目を返します。

コードをコピーします コードは次のとおりです:

var test=[];
var count = test.push('a','b');//配列の末尾から
を一つずつ追加していきます count =test.push('c');
アラート(カウント);//3
アラート(テスト);//
var item = test.pop();
アラート(アイテム);//c
alert(test.length);//2

ソートメソッド: reverse() と sort()

reverse() メソッドは、配列項の順序を逆にし、配列自体を操作します。

sort() メソッドは、デフォルトで配列項目を昇順にソートし、配列自体を操作します。

コードをコピーします コードは次のとおりです:

var test=[1,2,3,4,5];
test.reverse();
アラート(テスト);//5,4,3,2,1
var test2=[0,1,5,10,15];
test2.sort();
alert(test2);//0,1,10,15,5 sort() メソッドは、各配列項目の toString() メソッドを呼び出し、文字列を比較して並べ替えを決定します。したがって、ここでのソートは文字列ソートです

sort() メソッドは比較関数を渡すこともできます。

比較関数は、最初のパラメーターが 2 番目のパラメーターの前にある必要がある場合は負の数を返し、2 つのパラメーターが等しい場合は 0 を返し、最初のパラメーターが 2 番目のパラメーターの後にある必要がある場合は正の数を返します。

コードをコピーします コードは次のとおりです:

関数比較(値1,値2){
If(値1 return -1;
}else if(値1>値2){
1 を返します;
}その他{
0 を返す
}
}
var test=[0,1,5,10,15];
test.sort(比較);
アラート(テスト);//0,1,5,10,15

操作メソッド: concat()、slice()、splice()

concat() メソッドは、2 つ以上の配列を連結するために使用されます。このメソッドは既存の配列を変更せず、単に連結された配列のコピーを返します。新しい配列を返します。

コードをコピー コードは次のとおりです:

var a = [1,2,3];
alert(a.concat(4,5));//1,2,3,4,5
var arr = 新しい配列(3)
arr[0] = "ジョージ"
arr[1] = "ジョン"
arr[2] = "トーマス"
var arr2 = 新しい配列(3)
arr2[0] = "ジェームズ"
arr2[1] = "アドリュー"
arr2[2] = "マーティン"
アラート(arr.concat(arr2));
//ジョージ、ジョン、トーマス、ジェームズ、アドリュー、マーティン
var arr = 新しい配列(3)
arr[0] = "ジョージ"
arr[1] = "ジョン"
arr[2] = "トーマス"
var arr2 = 新しい配列(3)
arr2[0] = "ジェームズ"
arr2[1] = "アドリュー"
arr2[2] = "マーティン"
var arr3 = 新しい配列(2)
arr3[0] = "ウィリアム"
arr3[1] = "フランクリン"
アラート(arr.concat(arr2,arr3))
//ジョージ、ジョン、トーマス、ジェームズ、アドリュー、マーティン、ウィリアム、フランクリン

slice() メソッドは、既存の配列から選択された要素を返します。 arrayObject の要素を最初から最後まで (排他的に) 含む新しい配列を返します。

コードをコピーします コードは次のとおりです:

var test =['a','b','c','d','e'];
var arr1=test.slice(1);
var arr2=test.slice(1,4);
alert(arr1);//b,c,d,e
アラート(arr2);//b,c,d

splice() メソッドは、配列に項目を追加または配列から削除し、削除された項目を返します。配列自体を操作します。

最初のパラメータ: 開始位置、2 番目のパラメータ: インターセプトの数、3 番目のパラメータ: 追加される新しい要素。

コードをコピーします コードは次のとおりです:

//
を削除 var test=['a','b','c'];
var selected=test.splice(0,1)//最初の項目を削除します
アラート(テスト);//b,c
alert(removed);//a は削除されたアイテムを返します
//
を挿入 var test2=['a','b','c'];
var selected2=test2.splice(1,0,'d','e')//位置 1 から d,e を挿入
alert(test2);//a,d,e,b,c
alert(removed2)//空の配列
//
を置き換えます var test3=['a','b','c'];
var selected3=test3.splice(1,1,'d','e')//位置 1 から d,e を挿入
alert(test3);//a,d,e,c
アラート(削除3)//b

位置メソッド:indexOf()、lastIndexOf()

ECMAScript5 はブラウザをサポートするメソッドを提供します: IE9、Firefox 2、Safari 3、Opera 9.5、Chrome

indexOf() メソッドは、文字列内で指定された文字列値が最初に出現する位置を返します。

lastIndexOf() メソッドは、文字列内の指定された位置を後ろから前に検索して、指定された文字列値の最後の出現位置を返すことができます。

パラメータが 1 つの場合: 検索する値を表し、インデックス位置を返します (0 から開始) パラメータが 2 つの場合: 最初のパラメータは開始位置を表し、2 番目のパラメータは値を表します。見つかること。

コードをコピーします コードは次のとおりです:

変数番号=[1,2,3,4,5,4,3,2,1];
alert(numbers.indexOf(4));//3
alert(numbers.lastIndexOf(4));//5

alert(numbers.IndexOf(4,4));//5
alert(numbers.lastIndexOf(4,4));//3

反復メソッド:every()、filter()、forEach()、map()、some()

ECMAScript5 はブラウザをサポートするメソッドを提供します: IE9、Firefox 2、Safari 3、Opera 9.5、Chrome

every(): 配列内の各項目に対して指定された関数を実行し、関数が各項目に対して true を返す場合は true を返します。

filter(): 配列内の各項目に対して指定された関数を実行し、関数が true を返す項目の配列を返します。

forEach(): 配列内の各項目に対して指定された関数を実行します。このメソッドには戻り値がありません。

map(): 配列内の各項目に対して指定された関数を実行し、各関数呼び出しの結果で構成される配列を返します。

some(): 配列内の各項目に対して指定された関数を実行し、関数がいずれかの項目に対して true を返した場合は true を返します。

上記の関数はいずれも、配列に含まれる値を変更しません。

コードをコピー コードは次のとおりです:

変数番号=[1,2,3,4,5,4,3,2,1];
//すべて()
var EveryResult=numbers.every(function(item,index,array){
戻る (アイテム>2)
})
alert(everyResult);//false
//some()
var someResult=numbers.some(function(item,index,array){
戻る (アイテム>2)
})
alert(someResult);//true
//フィルター()
var filterResult=numbers.filter(function(item,index,array){
戻る (アイテム>2)
})
alert(filterResult);//[3,4,5,4,3]

//map()
var mapResult=numbers.map(function(item,index,array){
(アイテム*2) を返す
})
alert(mapResult);//[2,4,6,8,10,8,6,4,2]

//forEach()
numbers.forEach(function(item,index,array){
//戻り値なしで演算を実行
})

マージメソッド:reduce()、reduceRight()

ECMAScript5 はブラウザをサポートするメソッドを提供します: IE9、Firefox 3、Safari 4、Opera 10.5、Chrome

どちらのメソッドも配列のすべての項目を反復処理して、最終的な戻り値を構築します。 reduce() メソッドは配列内の最初の項目から開始され、reduceRight() メソッドは配列の末尾から開始されます。

コードをコピーします コードは次のとおりです:

var 値=[1,2,3,4,5];
var sum=value.reduce(function(prev,cur,index,array){
前へ;
});
アラート(合計);//15

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。