次の配列メソッドを整理しました
- join()
- push()およびpop()
- shift()和unshift()
- ソート()
- 逆行する()
- concat()
- スライス()
- スプライス()
- indexOf()およびlastIndexOf()(ES5の新機能)
- forEach()(ES5の新機能)
- map()(ES5の新機能)
- filter()(ES5の新機能)
- every()(ES5の新機能)
- some()(ES5の新機能)
1:join()
joinは、配列を文字列に変換してから、接続文字を指定することです。デフォルトはコンマ(、)です。
書き込み形式:join( "")、括弧( "引用符")で文字列を書き込み、
var arr = [1,2,3];
console.log(arr.join()); // 1,2,3
console.log(arr.join("-")); // 1-2-3
console.log(arr); // [1, 2, 3](原数组不变)
2:push()およびpop()
push():配列の最後に内部の内容を追加し、変更された長さを返します。
pop():配列の最後の項目を削除し、削除された値を返し、配列の長さを短くします。
書き込み形式:arr.push( "")、括弧内にコンテンツを書き込みます( "文字列は引用符で囲む必要があります")、
書き込み形式:arr.pop()
var arr = ["Lily","lucy","Tom"];
var count = arr.push("Jack","Sean");
console.log(count); // 5
console.log(arr); // ["Lily", "lucy", "Tom", "Jack", "Sean"]
var item = arr.pop();
console.log(item); // Sean
console.log(arr); // ["Lily", "lucy", "Tom", "Jack"]
3:unshift()とshift()はpush()とpop()の反対です
unshift:パラメータを元の配列の先頭に追加し、配列の長さを返します。
shift():元の配列の最初の項目を削除し、削除された要素の値を返します。配列が空の場合は、undefinedを返します。
書き込み形式:arr.unshift( "")、括弧内にコンテンツを書き込みます( "文字列は引用符で囲む必要があります")、
書き込み形式:arr.shift()
var arr = ["Lily","lucy","Tom"];
var count = arr.unshift("Jack","Sean");
console.log(count); // 5
console.log(arr); //["Jack", "Sean", "Lily", "lucy", "Tom"]
var item = arr.shift();
console.log(item); // Jack
console.log(arr); // ["Sean", "Lily", "lucy", "Tom"]
4:sort()
sort():配列内のアイテムを小さいものから大きいものに並べ替えます
書き込み形式:arr.sort()
var arr1 = ["a", "d", "c", "b"];
console.log(arr1.sort()); // ["a", "b", "c", "d"]
sort()メソッドは文字列を比較し、値のサイズに従って数値をソートしません。これを実現するには、ソート関数を使用する必要があります。
function sortNumber(a,b)
{
return a - b
}
arr = [13, 24, 51, 3]; console.log(arr.sort()); // [13, 24, 3, 51]
console.log(arr.sort(sortNumber)); // [3, 13, 24, 51](数组被改变)
5:reverse()
reverse():配列項目の順序を逆にします。
書き込み形式:arr.reverse()
var arr = [13, 24, 51, 3];
console.log(arr.reverse()); //[3, 51, 24, 13]
console.log(arr); //[3, 51, 24, 13](原数组改变)
6:concat()
concat():元の配列にパラメーターを追加します。このメソッドは、最初に現在の配列のコピーを作成し、次に受信したパラメーターをコピーの最後に追加し、最後に新しく構築された配列を返します。concat()メソッドにパラメーターを渡さずに、現在の配列をコピーして、コピーを返します。
書き込み形式:arr.concat()、括弧内にコンテンツを書き込みます(「文字列は引用符で囲む必要があります」)、
var arr = [1,3,5,7];
var arrCopy = arr.concat(9,[11,13]);
console.log(arrCopy); //[1, 3, 5, 7, 9, 11, 13]
console.log(arr); // [1, 3, 5, 7](原数组未被修改)
7:slice()
スライス():元の配列の指定された開始添え字から終了添え字までの項目で構成される新しい配列を返します。スライス()メソッドは、1つまたは2つのパラメーター、つまり、返されるアイテムの開始位置と終了位置を受け入れることができます。パラメータが1つしかない場合、slice()メソッドは、パラメータで指定された位置から現在の配列の最後までのすべての項目を返します。パラメータが2つある場合、メソッドは開始位置と終了位置の間にあるアイテムを返しますが、終了位置のアイテムは含まれません。
書き込み形式:arr.slice(1、3)
var arr = [1,3,5,7,9,11];
var arrCopy = arr.slice(1);
var arrCopy2 = arr.slice(1,4);
var arrCopy3 = arr.slice(1,-2);
var arrCopy4 = arr.slice(-4,-1);
console.log(arr); //[1, 3, 5, 7, 9, 11](原数组没变)
console.log(arrCopy); //[3, 5, 7, 9, 11]
console.log(arrCopy2); //[3, 5, 7]
console.log(arrCopy3); //[3, 5, 7]
console.log(arrCopy4); //[5, 7, 9]
arrCopyは1つのパラメーターのみを設定します。つまり、開始添え字は1であるため、返される配列は、配列の最初から最後まで添え字1(添え字1を含む)です。
arrCopy2は、2つのパラメーターを設定し、開始インデックス(1を含む)から終了インデックス(4を除く)までのサブ配列を返します。
arrCopy3は2つのパラメーターを設定します。終了インデックスは負の数です。負の数が表示されると、配列の長さ(6)の値に負の数が追加され、その位置の数が置き換えられます。これは、サブ配列の開始です。 1から4(含まれていません)。
arrCopy4の両方のパラメーターは負の数であるため、両方とも配列の長さ6を追加して正の数に変換するため、slice(2,5)と同等です。
8:splice()
splice():削除、挿入、および置換。
削除:最初に削除するアイテムの位置と削除するアイテムの数の2つのパラメーターを指定します。
書き込み形式:arr.splice(1、3)
挿入:指定した位置に任意の数のアイテムを挿入できます。指定する必要があるのは、開始位置、0(削除するアイテムの数)、および挿入するアイテムの3つのパラメーターのみです。
書き込み形式:arr.splice(2,0,4,6)
置換:指定した位置に任意の数のアイテムを挿入し、同時に任意の数のアイテムを削除できます。指定する必要があるのは、開始の3つのパラメーターのみです。位置、削除するアイテム番号、および挿入するアイテムの数。挿入されるアイテムの数は、削除されるアイテムの数と同じである必要はありません。
書き込み形式:arr.splice(2,0,4,6)
var arr = [1,3,5,7,9,11];
var arrRemoved = arr.splice(0,2);
console.log(arr); //[5, 7, 9, 11]
console.log(arrRemoved); //[1, 3]
var arrRemoved2 = arr.splice(2,0,4,6);
console.log(arr); // [5, 7, 4, 6, 9, 11]
console.log(arrRemoved2); // []
var arrRemoved3 = arr.splice(1,1,2,4);
console.log(arr); // [5, 2, 4, 4, 6, 9, 11]
console.log(arrRemoved3); //[7]
9:indexOf()和lastIndexOf()
indexOf():2つのパラメーターを受け取ります。検索するアイテムと(オプション)検索の開始点を示すインデックスです。その中で、配列の先頭(位置0)から逆方向に検索します。
書き込み形式:arr.indexof(5)
lastIndexOf():2つのパラメーターを受け取ります。検索するアイテムと(オプション)検索の開始点を示すインデックスです。その中で、配列の最後から前方に検索します。
書き込み形式:arr.lastIndexOf(5,4)
var arr = [1,3,5,7,7,5,3,1];
console.log(arr.indexOf(5)); //2
console.log(arr.lastIndexOf(5)); //5
console.log(arr.indexOf(5,2)); //2
console.log(arr.lastIndexOf(5,4)); //2
console.log(arr.indexOf("5")); //-1
10:forEach()
forEach():配列をトラバースし、配列内の各項目に対して指定された関数を実行します。このメソッドには戻り値はありません。パラメータはすべて関数タイプであり、デフォルトで渡されます。パラメータは次のとおりです。トラバースされた配列のコンテンツ、対応する配列のインデックス、配列自体。
書き込み形式:arr.forEach()
var arr = [1, 2, 3, 4, 5];
arr.forEach(function(x, index, a){
console.log(x + '|' + index + '|' + (a === arr));
});
// 输出为:
// 1|0|true
// 2|1|true
// 3|2|true
// 4|3|true
// 5|4|true
11:map()
map():「マッピング」を参照し、配列内の各項目に対して特定の関数を実行し、各関数呼び出しの結果で構成される配列を返します。
書き込み形式:arr.map()
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
return item*item;
});
console.log(arr2); //[1, 4, 9, 16, 25]
12:filter()
filter(): "Filter"関数。配列内の各項目は指定された関数を実行し、フィルター条件を満たす配列を返します。
書き込み形式:arr.filter()
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr2 = arr.filter(function(x, index) {
return index % 3 === 0 || x >= 8;
});
console.log(arr2); //[1, 4, 7, 8, 9, 10]
13:every()
every():配列内の各項目が条件を満たすかどうかを判別し、すべての項目が条件を満たす場合にのみtrueを返します。
書き込み形式:arr.every()
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.every(function(x) {
return x < 10;
});
console.log(arr2); //true
var arr3 = arr.every(function(x) {
return x < 3;
});
console.log(arr3); // false
14:some()
some():配列内の条件を満たすアイテムがあるかどうかを判別します。条件を満たすアイテムが1つある限り、trueを返します。
書き込み形式:arr.some()
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(x) {
return x < 3;
});
console.log(arr2); //true
var arr3 = arr.some(function(x) {
return x < 1;
});
console.log(arr3); // false
15:jsオブジェクト配列の特定の属性値が文字列にスプライスされます
var objs=[
{id:1,name:'张三'},
{id:2,name:'李四'},
{id:3,name:'王五'},
{id:4,name:'赵六'},
];
var idsStr = objs.map(function(obj,index){
return obj.id;
}).join(",");
console.log(idsStr);
16 jsは、文字列の前にある文字列のコンテンツをインターセプトします
jsは、2つの文字列間のコンテンツをインターセプトします。
var str = "aaabbbcccdddeeefff";
str = str.match(/aaa(\S*)fff/)[1];
alert(str);//结果bbbcccdddeee
jsは、文字列の前のコンテンツをインターセプトします。
var str = "aaabbbcccdddeeefff";
str = str.match(/(\S*)fff/)[1];
alert(str);//结果aaabbbcccddd
jsは、文字列の背後にあるコンテンツをインターセプトします。
var str = "aaabbbcccdddeeefff";
str = str.match(/aaa(\S*)/)[1];
alert(str);//结果bbbcccdddeeefff