オブジェクトが配列であるかどうかを判断します:instanceof、array.isarray()
Webページまたはグローバル範囲の場合は、オペレーターのインスタンスを使用します。
if(value instance of array){//値が配列であるかどうかを判断します
}
インスタンスオペレーターは、グローバル実行環境が1つしかないことを前提としており、Webページに複数のフレームワークが含まれている場合、ecmascript5が追加した新しいarray.isarray()メソッドを使用します。
if(array.isarray(value)){//値が配列であるかどうかを判断します
}
array.isarray()メソッドでサポートされているブラウザには、IE9+、Firefor 4+、Safari5+、Opera 10.5+、およびChromeが含まれます。
このメソッドを実装していないブラウザで配列を確認する場合は、以下を使用してください。
if(object.prototype.tostring.call(value)== "[Object Array]"){
}
配列を文字列に変換: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()メソッドを呼び出します
アラート(test.join( '、')); // a、b、c
アラート(test.join( '|')); // a | b | c
アレイ要素を追加および削除メソッド:push()、pop()、unshift()、shift()
push()メソッドは、任意の数のパラメーターを受け入れ、配列の最後に1つずつ追加し、変更された配列の長さを返すことができます。
POP()メソッドは、アレイの端から最後のアイテムを削除し、削除されたアイテムを返します。
Unshift()メソッドは、配列のフロントエンドに任意の数のパラメーターを追加し、新しい配列の長さを返します。
Shift()メソッドは、配列内の最初のアイテムを削除し、削除されたアイテムを返すことができます。
コードコピーは次のとおりです。
var test = [];
var count = test.push( 'a'、 'b'); //配列の端から1つずつ追加
count = test.push( 'c');
アラート(count); // 3
アラート(テスト); //
var item = test.pop();
アラート(アイテム); // c
アラート(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ソート()メソッドは、各配列アイテムのtoString()メソッドを呼び出し、文字列を比較してソートを決定します。したがって、ここでのソートは文字列ソートです
sort()メソッドは、比較関数に渡すこともできます。
比較関数は、最初のパラメーターが2番目のパラメーターの前にある場合は負の数と、2つのパラメーターが等しい場合は正の数値を返します。
コードコピーは次のとおりです。
関数比較(value1、value2){
if(value1 <value2){
return -1;
} else if(value1> value2){
返品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];
アラート(A.Concat(4,5)); // 1,2,3,4,5
var arr = new Array(3)
arr [0] = "George"
arr [1] = "John"
arr [2] = "Thomas"
var arr2 = new Array(3)
arr2 [0] = "ジェームズ"
arr2 [1] = "adrew"
arr2 [2] = "Martin"
アラート(arr.concat(arr2));
//ジョージ、ジョン、トーマス、ジェームズ、アドリュー、マーティン
var arr = new Array(3)
arr [0] = "George"
arr [1] = "John"
arr [2] = "Thomas"
var arr2 = new Array(3)
arr2 [0] = "ジェームズ"
arr2 [1] = "adrew"
arr2 [2] = "Martin"
var arr3 = new Array(2)
arr3 [0] = "william"
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);
アラート(arr1); // b、c、d、e
アラート(arr2); // b、c、d
Splice()メソッドは、アレイに項目を追加/削除し、削除されたアイテムを返します。配列自体。
最初のパラメーター:開始位置、2番目のパラメーター:インターセプトの数、3番目のパラメーター:新しい要素が追加されました。
コードコピーは次のとおりです。
//消去
var test = ['a'、 'b'、 'c'];
var removed = test.splice(0,1)//最初のアイテムを削除します
アラート(テスト); // b、c
アラート(削除); //削除されたアイテムを返します
//入れる
var test2 = ['a'、 'b'、 'c'];
var removed2 = test2.splice(1,0、 'd'、 'e')//位置1からd、eを挿入します
アラート(test2); // a、d、e、b、c
アラート(removed2)//空の配列
//交換する
var test3 = ['a'、 'b'、 'c'];
var removed3 = test3.splice(1,1、 'd'、 'e')//位置1からd、eを挿入します
アラート(test3); // a、d、e、c
アラート(removed3)// b
位置方法:indexof()、lastIndexof()
ECMAScript5は、ブラウザをサポートする方法を提供します:IE9+、Firefox 2+、Safari 3+、Opera 9.5+、Chrome
indexOF()メソッドは、文字列内の指定された文字列値の最初の発生を返します。
lastIndexof()メソッドは、指定された文字列値が表示される最後の位置を返し、文字列の指定された位置で背面から正面へと検索します。
1つのパラメーター:見つかる値を表すと、インデックス位置(0から開始)を返し、2つのパラメーター:最初のパラメーターが開始位置を表し、2番目のパラメーターは見つかる値を表します。
コードコピーは次のとおりです。
var番号= [1,2,3,4,5,4,3,2,1];
アラート(numbers.indexof(4)); // 3
alert(numbers.lastindexof(4)); // 5
アラート(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
すべて():配列内の各アイテムで特定の関数を実行し、関数が各アイテムに対してtrueを返す場合、trueを返します。
filter():配列内の各アイテムで特定の関数を実行し、trueを返すアイテムの配列を返します。
foreach():配列内の各アイテムで特定の関数を実行すると、この方法は値を返しません。
map():各関数呼び出しの結果で構成される配列を返す、配列内の各アイテムで特定の関数を実行します。
some():配列内の各アイテムで特定の関数を実行し、関数がいずれかのアイテムに対してtrueを返す場合、trueを返します。
上記の関数のいずれも、配列に含まれる値を変更しません。
コードコピーは次のとおりです。
var番号= [1,2,3,4,5,4,3,2,1];
//毎()
var EveryResult = numbers.envery(function(item、index、array){
return(item> 2);
})
アラート(EveryResult); // false
//いくつかの()
var someresult = numbers.some(function(item、index、array){
return(item> 2);
})
アラート(someresult); // true
//フィルター()
var filterResult = numbers.filter(function(item、index、array){
return(item> 2);
})
アラート(filterResult); // [3,4,5,4,3]
//地図()
var mapresult = numbers.map(function(item、index、array){
return(item*2);
})
アラート(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){
prev+cur;
});
アラート(sum); // 15
上記はこの記事のすべてです。あなたがそれを気に入ってくれることを願っています。