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

JavaScriptでのArray.prototype.filter()関数のようなカスタム関数の実装


問題

ArrayクラスのプロトタイプObjectに存在するJavaScript関数を作成する必要があります。

この関数は、唯一の引数としてコールバック関数を受け取る必要があります。このコールバック関数は、配列の要素ごとに呼び出す必要があります。

そして、そのコールバック関数は、対応する要素とそのインデックスの2つの引数を取る必要があります。コールバック関数がtrueを返す場合は、対応する要素を出力配列に含める必要があります。そうでない場合は、除外する必要があります。

以下はコードです-

const arr = [5, 3, 6, 2, 7, -4, 8, 10];
const isEven = num => num % 2 === 0;
Array.prototype.customFilter = function(callback){
   const res = [];
   for(let i = 0; i < this.length; i++){
      const el = this[i];
      if(callback(el, i)){
         res.push(el);
      };
   };
   return res;
};
console.log(arr.customFilter(isEven));

出力

[ 6, 2, -4, 8, 10 ]

  1. JavaScriptのArray.prototype.sort()。

    JavaScript Array.prototype.sort()メソッドは、配列の並べ替えに使用されます。並べ替えの順序は、アルファベット、数字、昇順、降順のいずれかです。 以下は、Array.prototype.sort()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-

  2. JavaScriptのArray.prototype.flat()。

    JavaScript Array.prototype.flat()メソッドは、指定された深さまで配列を再帰的にフラット化するために使用されます。元の配列を操作するのではなく、新しいフラット化された配列を作成します。 以下は、Array.prototype.flat()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content