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

JavaScriptでソートされたリテラル配列から重複を削除する


リテラルのソートされた配列が与えられたと仮定します。各要素が1回だけ表示され、配列の新しい長さを返すように、配列からすべての重複をインプレースで削除する関数を作成する必要があります。

これを行うための条件は、別の配列に余分なスペースを割り当てることができないことです。これは、入力配列をO(1)の余分なメモリでインプレースで変更することによって行う必要があります。

このためのコードは-

になります
const arr = [1, 3, 3, 6, 7, 7, 9, 11, 13];
const removeDuplicates = (arr = []) => {
   let i=0;
   while(i < arr.length − 1){
      let j = i + 1;
      if(arr[i] === arr[j]){
         arr.splice(j,1);
      }else{
         i++;
      }
   };
};
removeDuplicates(arr);
console.log(arr);

出力

そして、コンソールの出力は-

になります
[
   1, 3, 6, 7,
   9, 11, 13
]

  1. JavaScript配列from()メソッド

    JavaScriptのfrom()メソッドは、lengthプロパティを持つ任意のオブジェクトまたは反復可能なオブジェクトからArrayオブジェクトを返すために使用されます。 構文は次のとおりです- Array.from(obj, mapFunction, val) 上記では、パラメータobjは配列に変換するオブジェクト、mapFunctionは呼び出すマップ関数、valはmapFunctionを実行するときにこれとして使用する値です。 JavaScriptでfrom()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body

  2. JavaScript Array.from()メソッド

    Array.from()は、指定された配列インスタンスから新しい配列オブジェクトを作成します。 以下は、配列from()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume