JavaScript配列と文字列の操作方法
5118 ワード
一、配列
(1)検出配列
グローバルスコープでは、instance ofオペレータを使用して、あるオブジェクトが配列であるかどうかを検出することができる.
したがって、オブジェクトはtoString()、valueOf()の方法を持っています.配列のtoString()を呼び出すと、配列内の各値の文字列としてスティッチングされたカンマ区切りの文字列が返されます.
valueOf()メソッドを呼び出して返しますか?それとも配列ですか?
join()法を使用して、配列変換された文字列を異なる区切り記号で構築することができる.文字列パラメータを受け取り、セパレータとして使用します.コンマでデフォルト.「」が入ってきたら、配列を無素につづり合わせます.文字列の+操作演算と同じです.
(3)スタック、キューの方法
push():任意の数のパラメータを受信し、それらを配列の最後に一つずつ追加し、修正された配列の長さを返します.
pop():パラメータなしで、配列の最後の項目を削除し、この項を返します.
shift():パラメータを持たず、配列の最初の項目を削除し、アイテムを返します.
unshift():任意の数のパラメータを受け取り、配列の先端に追加し、新しい配列の長さを返します.
(4)並べ替え方法
reverse():配列項目の順序を反転し、修正された配列を返します.
sort():デフォルトでは昇順で配列項目を並べ、並べ替えられた配列を返します.各項目のtoString()メソッドを呼び出して、その結果得られた文字列を比較します.たとえ配列の各項目が数字であっても.
concat():現在の配列のコピーを作成し、このコピーの末尾にパラメータを追加し、この新たに構築された配列を返します.(元の配列は不変)
slice():1つまたは2つのパラメータを受け入れる、すなわち、戻り値の開始位置と終了位置(終了位置の項目は返さない).パラメータが一つしかない場合は、開始項目から現在の配列の最後までのすべての項目を返します.(元の配列は不変)
splice():主な用途は配列の中央に項目を挿入することです.(元の配列が削除された項目からなる配列を返します.または空の配列を返します.)3つの場合:
1.削除:2つのパラメータ、削除する最初の項目の位置と削除するエントリの数.splice(0,2)配列の最初の2つを削除します.
2.挿入:3つ(または以上)のパラメータ、開始位置、0(削除する項目)、挿入する項目のいずれか.splice(2,0,'insert')は、前から配列の位置2に挿入項'insert'があります.
2項であって、第3項ではない).
3.置換:3つ(または以上)のパラメータ、開始位置、削除するエントリ数、挿入する項目のいずれか.splice(2,1,'red'、'green')は位置2の項目を削除し、位置2から指定項目を挿入します.
(6)位置方法
indexOf():2つのパラメータ、検索する項目、および(オプション)は、検索開始点の位置のインデックスを表します.左から右へ検索します.
lastIndesOf():同じで、違うのは右から左へ検索することです.
この2つの方法は、検索する項目の配列内の位置を返します.見つけられない場合は-1を返します.
ES 5は配列のために5つの反復方法を定義している.各方法は、2つのパラメータを受け入れます.各項目で実行する関数と、その関数を実行するスコープは、this値に影響を与えます.
これらの方法に入ってきた関数は、3つのパラメータを受信します.配列項目の値、この項目は、配列内の下付き、配列オブジェクト自体です.
everry():配列内の各動作に関数を与えて、各項目がtrueに戻るとtrueに戻ります.
some():配列の各動作に与えられた関数は、どれかがtrueに戻るとtrueに戻ります.
filter():配列の各動作に与えられた関数を返します.この関数はtrueの項目からなる行列を返します.
forEach():配列内の各項目に対して指定された関数を実行します.戻り値はありません.
map():配列内の各項目に対して与えられた関数を実行し、毎回の関数呼び出しの結果からなる行列を返します.
(8)帰合方法
ES 5に二つの規格配列を追加する方法:reduce()、reduceRight().これらの2つの方法は、配列のすべての項目を繰り返し、最終的に返される値を構築します.
reduce()メソッドは配列の最初の項目から、reduceRight()は反対です.
いずれも2つのパラメータを受信します.各項目で呼び出された関数は、正規化ベースの初期値として機能します.
入力された関数は4つのパラメータを受信します.前の値、現在の値、項目の索引、配列オブジェクト.
(1)文字の方法
charAt():文字の位置を表すパラメータを受信します.var str='hello' alert(str.chart(1); //'e
charCodeAt():パラメータは同じです.文字ではなく文字コードが得られます.var str='hello' alert(str.chard CodeAt(1)); //'101
四角い括弧とロープを使って訪問することもできます.var str='hello' alert(str[1])/'e
(2)文字列の操作方法(以下の方法は元の文字列に影響しません)
concat():同配列の類似.実践の中でもっと多いのは+を使うことです.
slice():2つのパラメータは、サブ文字列の開始位置、終了位置を表します.
substring():同上.
substr():最初のパラメータと同じで、2番目のパラメータは戻りの文字の個数を表します.
以上、2番目のパラメータがない場合は、文字列の長さを終了位置とします.
(3)文字列の位置方法
indexOf():上の配列を参照してください.
lastIndesOf():上の配列を参照してください.
(4)trim()メソッド:文字列のコピーを作成し、前置および拡張子のすべてのスペースを削除し、結果を返します.
(5)大文字小文字変換
toLowerCase()、toLocaree LowerCase()、toUpperCase()、toLocaree UpperCase().
(6)モードマッチング方法(補足する必要がある)
match()
search()
replace()
スプリット()
(7)locale Compare()方法
この方法は2つの文字列を比較し、以下の値を返します.
文字列がアルファベット内で文字列パラメータの前に並べば、負の値(-1)を返します.その後、正の値(1)を返します.等しい場合は0を返します.(地域によって方法が違います.国によって違います.)
これはString構造関数の静的方法である.1つ以上の文字列コードを受信し、文字列に変換します.charCodeAt()とは逆の動作を実行します.
(1)検出配列
グローバルスコープでは、instance ofオペレータを使用して、あるオブジェクトが配列であるかどうかを検出することができる.
if (value instanceof Array){
//
}
しかし、ウェブページに複数のフレームが存在すると、実際には複数の異なるグローバルスコープが存在し、複数の異なるバージョンのAray構造関数が存在する.一つのフレームから他のフレームに一つの配列が入ってくると、以上の操作子は機能しません.ES 5に追加されたAray.isAray()方法は、どの大域的作用領域で作成されたかに関わらず、あるオブジェクトが配列であるかを判定することができる.if (Array.isArray(value)){
//
}
(2)変換方法したがって、オブジェクトはtoString()、valueOf()の方法を持っています.配列のtoString()を呼び出すと、配列内の各値の文字列としてスティッチングされたカンマ区切りの文字列が返されます.
valueOf()メソッドを呼び出して返しますか?それとも配列ですか?
join()法を使用して、配列変換された文字列を異なる区切り記号で構築することができる.文字列パラメータを受け取り、セパレータとして使用します.コンマでデフォルト.「」が入ってきたら、配列を無素につづり合わせます.文字列の+操作演算と同じです.
(3)スタック、キューの方法
push():任意の数のパラメータを受信し、それらを配列の最後に一つずつ追加し、修正された配列の長さを返します.
pop():パラメータなしで、配列の最後の項目を削除し、この項を返します.
shift():パラメータを持たず、配列の最初の項目を削除し、アイテムを返します.
unshift():任意の数のパラメータを受け取り、配列の先端に追加し、新しい配列の長さを返します.
(4)並べ替え方法
reverse():配列項目の順序を反転し、修正された配列を返します.
sort():デフォルトでは昇順で配列項目を並べ、並べ替えられた配列を返します.各項目のtoString()メソッドを呼び出して、その結果得られた文字列を比較します.たとえ配列の各項目が数字であっても.
var num = [0,1,5,10,15];
num.sort();
console.log(num); // [0,1,10,15,5]
このような状況のために、私達は普通ソト()に比較関数をパラメータとして伝えます.function compare(value1, value2){
if (value1 < value2){
return -1; // 。 -1 1, 。
} else if (value1 > value2){
return 1;
} else {
return 0;
}
}
数値の種類または他のvalueOf()の方法に対して数値タイプのオブジェクトタイプが返される場合、以下のより簡単な比較関数が使用されてもよい.function compare(value1, value2){
return value1 - value2; // 。 value1 value2, 。
}
(5)操作方法concat():現在の配列のコピーを作成し、このコピーの末尾にパラメータを追加し、この新たに構築された配列を返します.(元の配列は不変)
slice():1つまたは2つのパラメータを受け入れる、すなわち、戻り値の開始位置と終了位置(終了位置の項目は返さない).パラメータが一つしかない場合は、開始項目から現在の配列の最後までのすべての項目を返します.(元の配列は不変)
splice():主な用途は配列の中央に項目を挿入することです.(元の配列が削除された項目からなる配列を返します.または空の配列を返します.)3つの場合:
1.削除:2つのパラメータ、削除する最初の項目の位置と削除するエントリの数.splice(0,2)配列の最初の2つを削除します.
2.挿入:3つ(または以上)のパラメータ、開始位置、0(削除する項目)、挿入する項目のいずれか.splice(2,0,'insert')は、前から配列の位置2に挿入項'insert'があります.
2項であって、第3項ではない).
3.置換:3つ(または以上)のパラメータ、開始位置、削除するエントリ数、挿入する項目のいずれか.splice(2,1,'red'、'green')は位置2の項目を削除し、位置2から指定項目を挿入します.
(6)位置方法
indexOf():2つのパラメータ、検索する項目、および(オプション)は、検索開始点の位置のインデックスを表します.左から右へ検索します.
lastIndesOf():同じで、違うのは右から左へ検索することです.
この2つの方法は、検索する項目の配列内の位置を返します.見つけられない場合は-1を返します.
var num = [1,2,3,4,5,4,3,2,1];
alert(num.indexOf(4)); //3
alert(num.lastIndexOf(4)); //5
alert(num.indexOf(4,4)); //5
alert(num.lastIndesOf(4,4)); //3
(7)反復方法ES 5は配列のために5つの反復方法を定義している.各方法は、2つのパラメータを受け入れます.各項目で実行する関数と、その関数を実行するスコープは、this値に影響を与えます.
これらの方法に入ってきた関数は、3つのパラメータを受信します.配列項目の値、この項目は、配列内の下付き、配列オブジェクト自体です.
everry():配列内の各動作に関数を与えて、各項目がtrueに戻るとtrueに戻ります.
some():配列の各動作に与えられた関数は、どれかがtrueに戻るとtrueに戻ります.
filter():配列の各動作に与えられた関数を返します.この関数はtrueの項目からなる行列を返します.
forEach():配列内の各項目に対して指定された関数を実行します.戻り値はありません.
map():配列内の各項目に対して与えられた関数を実行し、毎回の関数呼び出しの結果からなる行列を返します.
(8)帰合方法
ES 5に二つの規格配列を追加する方法:reduce()、reduceRight().これらの2つの方法は、配列のすべての項目を繰り返し、最終的に返される値を構築します.
reduce()メソッドは配列の最初の項目から、reduceRight()は反対です.
いずれも2つのパラメータを受信します.各項目で呼び出された関数は、正規化ベースの初期値として機能します.
入力された関数は4つのパラメータを受信します.前の値、現在の値、項目の索引、配列オブジェクト.
var num = [1,2,3,4,5];
var sum = num.reduce(function(prev,cur,index,array){
// 。 , :prev 1,cur 2。
// ,prev 3(1+2 ),cur 3.
return prev + cur;
});
alert(sum); //15
二、文字列(1)文字の方法
charAt():文字の位置を表すパラメータを受信します.var str='hello' alert(str.chart(1); //'e
charCodeAt():パラメータは同じです.文字ではなく文字コードが得られます.var str='hello' alert(str.chard CodeAt(1)); //'101
四角い括弧とロープを使って訪問することもできます.var str='hello' alert(str[1])/'e
(2)文字列の操作方法(以下の方法は元の文字列に影響しません)
concat():同配列の類似.実践の中でもっと多いのは+を使うことです.
slice():2つのパラメータは、サブ文字列の開始位置、終了位置を表します.
substring():同上.
substr():最初のパラメータと同じで、2番目のパラメータは戻りの文字の個数を表します.
以上、2番目のパラメータがない場合は、文字列の長さを終了位置とします.
(3)文字列の位置方法
indexOf():上の配列を参照してください.
lastIndesOf():上の配列を参照してください.
(4)trim()メソッド:文字列のコピーを作成し、前置および拡張子のすべてのスペースを削除し、結果を返します.
(5)大文字小文字変換
toLowerCase()、toLocaree LowerCase()、toUpperCase()、toLocaree UpperCase().
(6)モードマッチング方法(補足する必要がある)
match()
search()
replace()
スプリット()
(7)locale Compare()方法
この方法は2つの文字列を比較し、以下の値を返します.
文字列がアルファベット内で文字列パラメータの前に並べば、負の値(-1)を返します.その後、正の値(1)を返します.等しい場合は0を返します.(地域によって方法が違います.国によって違います.)
var str = 'yellow';
str.localeCompare('brick'); //1
str.localeCompare('yellow'); //0
str.localeCompare('zoo'); //-1
(8)from CharCode()これはString構造関数の静的方法である.1つ以上の文字列コードを受信し、文字列に変換します.charCodeAt()とは逆の動作を実行します.
String.fromCharCode(104); //'h'