序文
次の4つの基本的な方法の配列があります:
方法 | 説明 | リマーク |
---|---|---|
押す() | アレイの最後尾の 1つの以上の要素の挿入は、の値を返し、配列の新しい長さを | これは、元の配列を変更します |
ポップ() | アレイ削除最後の要素を、それがの値を返し要素を削除します | これは、元の配列を変更します |
アンシフト() | アレイにフロント 1つの以上の要素の挿入は、の値を返し、配列の新しい長さを | これは、元の配列を変更します |
シフト() | アレイ削除最初の要素として結果を返す要素を削除します | これは、元の配列を変更します |
次のような方法は、反復します:
方法 | 説明 | リマーク |
---|---|---|
forループ | これは、我々はすべてを知っています | |
forEachの() | そして、ループのために似ていますが、より多くのIE8の互換性であることが必要 | forEachの()は戻り値はありません。つまり、その戻り値は未定義です |
フィルタ() | 結果は用語の真のですが、それは新しい配列を形成することになります。あなたは、フィルタリングの役割を果たすことができます | これは、元の配列は変更されません。 |
地図() | 元の配列の処理のそれぞれについて | |
すべての() | リターン偽がある場合、歩行を停止 | すべてのが真の最終結果を真に必要なリターンを返すことを意味 |
一部() | 限り、真のリターンがあるとして、その後、散歩を停止 |
四つの基本的な方法の配列(配列要素を追加したり、削除します)
押す()
push()
:配列最後尾の 1つの以上の要素の挿入は、の値を返し、配列の新しい長さ。
構文:
数组的新长度 = 数组.push(元素);
コード例:
var arr = ["王一", "王二", "王三"];
var result1 = arr.push("王四"); // 末尾插入一个元素
var result2 = arr.push("王五", "王六"); // 末尾插入多个元素
console.log(result1); // 打印结果:4
console.log(result2); // 打印结果:6
console.log(JSON.stringify(arr)); // 打印结果:["王一","王二","王三","王四","王五","王六"]
ポップ()
pop()
:のアレイ削除最後それの値を返し、要素を除去要素。
構文:
被删除的元素 = 数组.pop();
コード例:
var arr = ["王一", "王二", "王三"];
var result1 = arr.pop();
console.log(result1); // 打印结果:王三
console.log(JSON.stringify(arr)); // 打印结果:["王一","王二"]
アンシフト()
unshift()
:配列最前 1つの以上の要素の挿入は、の値を返し、配列の新しい長さ。要素を挿入した後、インデックスの他の要素は、順番に調整します。
構文:
数组的新长度 = 数组.unshift(元素);
コード例:
var arr = ["王一", "王二", "王三"];
var result1 = arr.unshift("王四"); // 最前面插入一个元素
var result2 = arr.unshift("王五", "王六"); // 最前面插入多个元素
console.log(result1); // 打印结果:4
console.log(result2); // 打印结果:6
console.log(JSON.stringify(arr)); // 打印结果:["王五","王六","王四","王一","王二","王三"]
シフト()
shift()
:の配列の削除最初の要素とする結果を返す要素を除去します。
構文:
被删除的元素 = 数组.shift();
コード例:
var arr = ["王一", "王二", "王三"];
var result1 = arr.shift();
console.log(result1); // 打印结果:王一
console.log(JSON.stringify(arr)); // 打印结果:["王二","王三"]
反復
アレイ内の各要素の取得および操作:すなわちアレイを通ります。私たちの戦闘開発では、非常に頻繁に使用。
前記の反復処理する方法であって、すべての()、フィルタ()、forEachの()、マップ()、いくつかの()
PS:これらのメソッドは、元の配列は変更されません。
構文:
数组/boolean/无 = 数组.every/filter/forEach/map/some(
function(element,index,arr){
程序和返回值;
これらの方法では、我々は、forループの一部を置き換えることができます。ここでは紹介してオンにします。
ループ繰り返し処理のための
例えば:
var arr = ["小米","大米","中米"];
for(var i = 0;i<arr.length;i++){
console.log(arr[i]); // arr[i]代表的是数组中的每一个元素i
}
console.log(arr);
印刷結果:
forEachの()トラバーサル
forEach()
このトラバーサル方法はIE8のブラウザよりも多くをサポートしています。IE8以下のブラウザでは、このメソッドをサポートしていません。あなたがのforEachを使用していない、互換性のIE8を必要とするのであれば、代わりにすることができ反復するforループを使用します。
forEachの()メソッドは、パラメータとしての機能を必要とします。この機能はありません私達によって作成されますが、私たちの呼び出しによって、我々は、コールバック関数を呼び出します。
配列内のいくつかの要素がありますが、コールバック関数が複数回実行されます。機械加工後、ブラウザが要素を横断します。
コールバック関数は3つのパラメータを渡します:
-
最初のパラメータは、現在の要素を横断しています
-
2番目のパラメータのインデックスは、現在の要素を横断しています
-
3番目のパラメータはアレイ繰り返されています
コード例:
var arr = ["王一", "王二", "王三"];
arr.forEach(function(item, index, obj) {
console.log("item:" + item);
console.log("index:" + index);
console.log("obj:" + obj);
console.log("----------");
});
印刷結果:
item:王一
index:0
obj:王一,王二,王三
----------
item:王二
index:1
obj:王一,王二,王三
----------
item:王三
index:2
obj:王一,王二,王三
----------
注、forEachの()の戻り値は未定義です。つまり、それは戻り値はありません。あなたがしようとした場合tempArry = arr.forEach()
受信するには、この方法は、それが影響次第ではありません。
フィルタ()
構文:
Array.prototype.filter(function(item, index){})
説明:結果が真であるアイテムを返しアレイコールバック関数内の各アイテムについて実行は、(すなわち、新しい配列の戻り値である)新しいアレイを形成します。
実施例1:4より大きいARR1配列要素を検索し、新しい配列を返します。コードは以下の通りであります:
var arr1 = [1, 3, 6, 2, 5, 6];
var arr2 = arr1.filter(function (item, index) {
return item > 4; //将arr1中大于4的元素返回
})
console.log(arr2);
印刷結果:
例2:
var arr1 = ["重庆", "渝中", "江北", "沙坪坝"];
var arr2 = arr1.filter(function (element, index, array) {
if (element.length > 2) { //arr1中的元素,如果是长度超过2个字符的,我就把它放到arr2中去
return true;
}
return false;
});
console.log(arr1);
console.log(arr2);
結果:
マップ()メソッド
説明:配列コールバック関数内の各アイテムについて実行は、関数が結果を返し、新しい配列(戻り処理した後、新たな配列)。
例えば、既知の配列ARR1があり、私はあなたがマップ・メソッドを使用することができる場所、ARR1それぞれが素数プラス10にするよう求めました。例えば:
var arr1 = [1, 3, 6, 2, 5, 6];
var arr2 = arr1.map(function (item, index) {
return item + 10; //让arr1中的每个元素加10
})
console.log(arr2);
印刷結果:
例2:
var arr1 = ["重庆", "渝中", "江北", "沙坪坝"];
var arr2 = arr1.map(function (element, index, array) {
return element + "vae"; //给arr1中所有的元素增加字符串"vae",放到arr2中。
});
console.log(arr1);
console.log(arr2);
結果:
すべての()メソッド
説明:配列のコールバック関数内の各アイテムで実行が、リターンtrueの場合、すべてのは、trueを返します。戻り値はfalseがあれば、その後、歩行を停止し、このメソッドはfalseを返します。
注:ブール・パラメータは、コールバック関数であるすべての()メソッドの値を返します。
例えば:
var arr1 = ["重庆", "渝中", "江北", "沙坪坝"];
var bool1 = arr1.every(function (element, index, array) {
if (element.length > 2) {
return false;
}
return true;
});
console.log(bool1); //输出结果:false。只要有一个元素的长度是超过两个字符的,就返回false
var arr2 = ["重庆", "渝中", "江北", "沙坪"];
var bool2 = arr2.every(function (element, index, array) {
if (element.length > 2) {
return false;
}
return true;
});
console.log(bool2); //输出结果:true。因为每个元素的长度都是两个字符。