ホームページ > 記事 > ウェブフロントエンド > JS配列学習で全要素を逆接続して文字列を出力
以前の記事「JS配列の学習:すべての要素を結合して文字列を返す方法」、「JS配列の学習:配列を繰り返して要素の合計を計算し、値を結合する」 strings》 に、配列内のすべての要素を左から右に順に結合して文字列を形成するいくつかの方法を導入しました。今回は引き続き、JS 配列を文字列に変換し、すべての配列要素を逆方向 (右から左) に連結して逆文字列を形成する方法について説明します。この記事の主な内容は、配列を逆に走査し、配列要素を右から左へ文字列に連結することです。以下に 3 つの実装方法を紹介します。
方法 1: for ループを使用する 実装アイデア:
配列を逆に走査する場合、初期条件は
i=配列長-1,制限条件は i>=0
です。そして、私は自動的に 1 (i--
)
for(i=arr.length-1;i>=0;i--){ //逆向循环遍历数组 }
" または concat()
配列要素を連結して文字列に変換するメソッド。 [推奨読書: 「JS 文字列学習スキル: 関数を使用して複数の文字列を接続する
」]
var arr = [1,2,3,4,5,6,7,8,9,0]; var i,str=""; for(i=arr.length-1;i>=0;i--){ //逆向循环遍历数组 //拼接 str=str+''+arr[i]; // str=str.concat(arr[i]); } console.log(str);
出力結果は次のとおりです:
#方法 2: 配列のreduceRight()メソッドを使用しますrecudeRight () メソッドは、配列内のすべての要素に対して右から左に指定されたコールバック関数を呼び出すことができます。このコールバック関数の戻り値は累積結果であり、この戻り値は次回コールバック関数が呼び出されるときにパラメータとして提供されます。
array.reduceRight(function callbackfn(previousValue, currentVaule, currentIndex, array)[, initialValue])
function callbackfn(previousValue,currentVaule,currentIndex,array)
: 必須パラメータ。コールバック関数を指定します。最大 4 つのパラメータを受け取ることができます:var arr = [1,2,3,4,5,6,7,8,9,0]; var str = ''; function f(pre,curr) { str=pre+''+curr; return str; } arr.reduceRight(f); console.log(str);出力結果は次のとおりです: # # 区切り文字を使用して各配列要素を区切る場合は、コールバック関数内の 2 つの " " 演算子間の空の文字列を指定された区切り文字に変更できます:
var arr = [1,2,3,4,5,6,7,8,9,0]; var str = ''; function f(pre,curr) { str=pre+'-'+curr; return str; } arr.reduceRight(f); console.log(str);出力結果は次のとおりです:
方法 3: reverse() を使用します。reduce()
reverse() は要素の順序を逆転できます。 reduce() メソッドの構文と使用法は、reduceRight() メソッドとほぼ同じですが、唯一の違いは、配列内のすべての要素に対して指定されたコールバック関数を左から右に呼び出すことです。 array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)
実装アイデア:
最初に reverse() を使用して配列要素を反転し、新しい配列 arr2 を取得します。
#次に、関数を呼び出して配列要素を結合するために、reduce() メソッドを実装します。
実装コードを見てみましょう:
var arr1 = [1,2,3,4,5,6,7,8,9,0],arr2=[]; var str = ''; function f(pre,curr) { str=pre+''+curr; return str; } arr2=arr1.reverse(); arr2.reduce(f); console.log(str);
javascript 上級チュートリアル
以上がJS配列学習で全要素を逆接続して文字列を出力の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。