Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

奇数を見つけて新しい変数JavaScriptにプッシュするための配列の再帰


再帰関数、たとえばpushRecursively()を作成する必要があります。この関数は、数値の配列を受け取り、奇数と偶数のプロパティを含むオブジェクトを返します。ここで、oddは入力配列からの奇数の配列であり、偶数は入力配列からの偶数の配列です。これは再帰を使用して解決する必要があり、ループ方式を使用しないでください。

const arr = [12,4365,76,43,76,98,5,31,4];
const pushRecursively = (arr, len = 0, odd = [], even = []) => {
   if(len < arr.length){
      arr[len] % 2 === 0 ? even.push(arr[len]) : odd.push(arr[len]);
      return pushRecursively(arr, ++len, odd, even);
   };
   return {
      odd,
      even
   }
};
console.log(pushRecursively(arr));

len変数が配列の最後に到達している間、関数を再帰的に呼び出し続けます。奇数値を奇数配列に、偶数値を偶数配列にプッシュするたびに、len変数が配列の長さに等しくなると、関数を終了してオブジェクトを返します。 。

出力

コンソールでのこのコードの出力は-

になります
{ odd: [ 4365, 43, 5, 31 ], even: [ 12, 76, 76, 98, 4 ] }

  1. 変数がJavaScriptの配列であるかどうかを確認するにはどうすればよいですか?

    javascriptでは、3つの方法を使用して、変数が配列であるかどうかを確認できます。 1)isArray()メソッド Array.isArray() メソッドは、渡された変数が配列であるかどうかをチェックします。変数が配列の場合はtrueを表示し、そうでない場合はfalseを表示します。 構文 Array.isArray(variableName) 例 <html> <body> <script type="text/javascript"> arr = [1,2,3,4,5]; str = "i love

  2. JavaScript配列find()関数

    JavaScriptのfind()メソッドは、条件が渡された場合は配列の最初の要素値を返すために使用されます。それ以外の場合、戻り値は未定義です。構文は次のとおりです- array.find(function(val, index, arr),thisValue) ここで、functionは、現在の要素の値であるvalを持つ関数です。インデックスは配列インデックスであり、arrは配列です。 this valueパラメータは、関数に渡される値です。 例 <!DOCTYPE html> <html> <body>    <h2>