JavaScript配列——一般的な配列方法のまとめ
7390 ワード
本論文はjs配列に関するいくつかの一般的な方法を記録し、まとめを収集する.
1.
既存の配列変更規則:
第二グループ:行列のクエリーとコピー
5.
7.
9.
直接書き込み
11.
from Indexは、検索を開始するための配列インデックスを選択します.from Indexを省略すると、インデックス0から検索を開始します.配列の中のsearchElementの最初のマッチ項目のインデックスです.search Elementが見つからない場合は、-1です.
配列内に出現する各要素について、
配列オブジェクトに加えて、
コールバック関数の文法:function calbackfn(value、index、array 1):
パラメータ
パラメータの説明
value
配列要素の値
index
配列要素の数値索引
array 1
この要素を含む配列オブジェクト
13.
戻り値は、各要素が関連する元の配列要素のコールバック関数として値を返します.
配列内の各要素について、
コールバック関数の文法は以下の通りです.
パラメータ
パラメータの説明
value
配列要素の値
index
配列要素の数値索引
array 1
この要素を含む配列オブジェクト
:
1.
2.
3.
4.
第一グループ:配列の追加、削除、変更について1.
push
は配列の最後に新しい内容を追加し、戻ってきたのは追加後の新しい配列の長さであり、既存の配列が変更されました. var arr=[10,11,12,13,14,15];
var res=arr.push(16,17);
console.log(res); //8
console.log(arr); //[10,11,12,13,14,15,16,17]
2.unshift
は、配列の先頭に新しい内容を追加し、戻ってきたのは、追加された新しい配列の長さであり、元の配列も変化する. var res=arr.unshift(16,17);
console.log(res); //8
3.splice(n,m,x)
は、既存の配列のいくつかの項目を置き換える.(まず削除して、xで置換します).n(nを含む)から、m個の要素を後ろに削除し、xで置換し、削除された配列を返します.既存の配列変更規則:
splice(0,0,x)
はunshift
に相当し、splice(arr.length,0,x)
はpush
に相当し、splice(n,0,x)
は、配列の中間のある位置に新しいコンテンツを追加し、インデックスnから開始し、0つのコンテンツを削除し、新規コンテンツxをインデックスnの前に置く.は、既存の配列変更nからインデックスsplice(n,m)
が配列指定項目を削除したので、n(nを含む)からm個の要素を削除し、削除された内容を新しい配列として返します.元の配列変更です. var res=arr.splice(2,0,"michael"); // 12 “michael"
console.log(arr);
4.pop
は、配列の最後の一つを削除し、削除された項目を返します.元の配列の変化です.shift
は、最初の配列を削除し、削除された項目を返します.元の配列変化です.第二グループ:行列のクエリーとコピー
5.
slice(n,m)
は、インデックスn(nを含む)からインデックスm(mを含まない)を発見する.見つかった内容を新しい配列として返します.元の配列は変わりません.6.javascript
var arr=[10,11,12,13,14,15]; var res=arr.slice(1,4); console.log(res); //[11, 12, 13] console.log(arr); //[10, 11, 12, 13, 14, 15] slice(n) n( n) slice(0) // slice() , clone
concat
は、配列のスティッチングを実現するarr 1.co ncat(arr 2)が、配列arr 2と配列arr 1を新たな配列に統合することを意図しており、元の配列も不変である.concat
は、配列のクローンであってもよく、元の配列も変化する(slice(0に相当). var arr1=[10,11,12,13,14,15];
var arr2=[16,17];
var res=arr1.concat(arr2);
console.log(arr1); //[10, 11, 12, 13, 14, 15]
console.log(res); //[10, 11, 12, 13, 14, 15, 16, 17]
第三グループ:行列を私たちの文字列に変換します.7.
toString
は、配列の各項目を取り出し、コンマで区切って文字列を構成し、既存の配列は不変である.8.javascript
var arr=["name","michael","age","24"]; var res=arr.toString(); console.log(res); //name,michael,age,24 console.log(arr); //["name", "michael", "age", "24"]
join
(セパレータ)配列の各項目を取り出し、指定されたセパレータで区切っても、既存の配列は変わりません. var arr=["name","michael","age","24"];
var res=arr.join("|");
console.log(res); //"name|michael|age|24"
console.log(res.length); //19
console.log(arr); //["name", "michael", "age", "24"]
console.log(arr.length); //4
例:配列中の数字の合計を実現する var arr=[10,11,12,13,14,15];
var str=arr.join("+"); //"10+11+12+13+14+15"
var total=eval(str); //eval
console.log(total); //75
console.log(arr); //[10, 11, 12, 13, 14, 15]
第四グループ:整列と並べ替え9.
reverse
配列が逆に配列され、元の配列が変化します. var arr=[10,11,12,13,14,15];
console.log(arr); //[10, 11, 12, 13, 14, 15]
var res=arr.reverse(); //"10+11+12+13+14+15"
console.log(res); //[15, 14, 13, 12, 11, 10]
10.sort
配列の並べ替えは、大きいから小さいまで(小さいから大きいまで)、元の配列も変わることができます.直接書き込み
sort
は10以内のデジタル並べ替えしか処理できません.10以上の処理をするには一つのパラメータを渡す必要があります.このパラメータは関数でなければなりません. var arr=[10,12,11,19,13,15,6];
console.log(arr); //[10, 12, 11, 19, 13, 15,6]
var res=arr.sort();
console.log(res); //[10, 11, 12, 13, 15, 19, 6]
改善: var arr=[10,12,11,19,13,15,6];
console.log(arr); //[10, 12, 11, 19, 13, 15,6]
var res1=arr.sort(function(a,b){return a-b;}); //
console.log(res1);
var res2=arr.sort(function(a,b){return b-a;}) //
console.log(res2); //[10, 11, 12, 13, 15, 19, 6]
var arr=[10,12,11,19,13,6];
console.log(arr); //[10, 12, 11, 19, 13, 15,6]
var res1=arr.sort(function(a,b){
//a ,b
//return a-b; , 0, ,
// :sort ,
console.log(a+"<====>"+b);
return a-b;}); //
第5グループ:よく使われていますが、互換性がないものがあります.11.
indexOf
array 1.indexOf(search Element[,from Index])from Indexは、検索を開始するための配列インデックスを選択します.from Indexを省略すると、インデックス0から検索を開始します.配列の中のsearchElementの最初のマッチ項目のインデックスです.search Elementが見つからない場合は、-1です.
var arr=["hello","michael","good","study"];
var p=arr.indexOf("mi",0);
console.log(p); //-1
12.forEach
array 1.forEach(calbackfn[、thisArg])callbackfn
は必須です.最大3つのパラメータの関数が受け入れられます.配列内の各要素についてはforEach
は一度にcallbackfn
関数を呼び出します.thisArg
はオプションです.callbackfn
の関数におけるthis
のキーワードは、参照可能なオブジェクトです.thisArg
を省略すると、undefined
はthis
の値として使用されます.callbackfn
パラメータが関数オブジェクトでない場合、TypeError
に異常が発生します.配列内に出現する各要素について、
forEach
方法は、callbackfn
関数を1回呼び出す(昇順インデックス順序を採用する).配列中に不足する要素に対して、コールバック関数を呼び出すことはない.配列オブジェクトに加えて、
forEach
方法は、length
属性を有し、かつ、数字によって作成された索引の属性名を有する任意のオブジェクトによって使用されてもよい.コールバック関数の文法:function calbackfn(value、index、array 1):
パラメータ
パラメータの説明
value
配列要素の値
index
配列要素の数値索引
array 1
この要素を含む配列オブジェクト
// Create an array.
var numbers = [10, 11, 12];
// Call the addNumber callback function for each array element.
var sum = 0;
numbers.forEach(
function addNumber(value) { sum += value; }
);
document.write(sum);
// Output: 33
https://msdn.microsoft.com/zh-cn/library/ff679980(v=vs.94).aspx13.
map
array 1.map(calbackfn[、thisArg])callbackfn
は必須です.最大3つのパラメータの関数が受け入れられます.配列内の各要素(undefined
要素に対しては呼び出されません.)に対して、map
方法は一回にcallbackfn
関数を呼び出します.[, thisArg]
はオプションです.callbackfn
の関数におけるthis
のキーワードは、参照可能なオブジェクトです.thisArg
を省略すると、undefined
はthis
の値として使用されます.戻り値は、各要素が関連する元の配列要素のコールバック関数として値を返します.
callbackfn
パラメータが関数オブジェクトでない場合、TypeError
の異常を引き起こします.配列内の各要素について、
map
方法は、一度にcallbackfn
関数を呼び出す(昇順インデックス順を採用する).配列中に欠落している要素に対して、コールバック関数を呼び出すことはない.配列オブジェクトに加えて、map
属性を有し、かつ、数字によってインデックスが作成された属性名を有する任意のオブジェクトによって使用できる.コールバック関数の文法は以下の通りです.
パラメータ
パラメータの説明
value
配列要素の値
index
配列要素の数値索引
array 1
この要素を含む配列オブジェクト
// Define the callback function.
function AreaOfCircle(radius) {
var area = Math.PI * (radius * radius);
return area.toFixed(0);
}
// Create an array.
var radii = [10, 20, 30];
// Get the areas from the radii.
var areas = radii.map(AreaOfCircle);
document.write(areas);
// Output:
// 314,1257,2827
*/
この文章はjs配列のいくつかの常用方法に関して記録して、総括を収集して、もし適当でないことがあるならば、ご指摘ください.