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

再帰を使用して、JavaScriptの配列から連続する重複エントリを削除します


数値/文字列リテラルの配列を受け取る関数を作成することになっています。この関数は、余分なメモリスペースを使用せずに、配列の冗長な連続要素をすべて削除する必要があります。

たとえば、入力配列が-

の場合
const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];

その場合、出力は-

になります。
const output = [17, 12, 354, 1];

したがって、この関数のコードを書いてみましょう-

このためのコードは-

になります
const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];
const comp = (arr, len = 0, deletable = false) => {
   if(len < arr.length){
      if(deletable){
         arr.splice(len, 1);
         len--;
      }
      return comp(arr, len+1, arr[len] === arr[len+1])
   };
   return;
};
comp(arr);
console.log(arr);

出力

コンソールの出力は-

になります
[ 17, 12, 354, 1 ]

  1. Javascriptを使用してキューから要素を削除します

    キューから要素をデキューすることは、キューの先頭/先頭から要素を削除することを意味します。コンテナ配列に関するすべての操作を実行するため、コンテナ配列の先頭をキューの先頭にします。 したがって、次のようにpop関数を実装できます- 例 dequeue() {    // Check if empty    if (this.isEmpty()) {       console.log("Queue Underflow!");       return; &nbs

  2. Javascriptを使用してPriorityQueueから要素を削除します

    PriorityQueueから要素をデキューすることは、最も優先度の高い要素を削除することを意味します。配列の最後に最も優先度の高い要素を格納しているので、ポップしてデキューするだけです。 したがって、デキュー機能は次のように実装できます- 例 dequeue() {    // Check if empty    if (this.isEmpty()) {       console.log("Queue Underflow!");       return; &n