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

JavaScriptで配列を一意にする


問題

最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。

移動は、任意のarr [i]を選択し、それを1ずつインクリメントすることで構成されます。この関数は、配列のすべての値を一意にするために、最小の移動数を返すことになっています。

たとえば、関数への入力が-

の場合
const arr = [12, 15, 7, 15];

その場合、出力は-

になります。
const output = 1;

出力の説明

15から16にインクリメントすると、配列はすべての一意の要素で構成されるためです。

このためのコードは-

になります
const arr = [12, 15, 7, 15];
const makeUnique = (arr = []) => {
   arr.sort((a, b) => a - b);
   let count = 0;
   for (let i = 1; i < arr.length; i++) {
      if (arr[i] <= arr[i - 1]) {
         const temp = arr[i]
         arr[i] = arr[i - 1] + 1
         count += arr[i] - temp
      };
   };
   return count;
};
console.log(makeUnique(arr));

出力

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

になります
1

  1. JavaScriptの基本的な配列メソッド

    いくつかの基本的なJavaScript配列メソッドは次のとおりです- メソッド 説明 Array.push() 配列の最後に要素を追加します。 Array.pop() 配列の最後から要素を削除します。 Array.unshift() 配列の先頭に要素を追加するには Array.shift() 配列の前面から要素を削除します。 Array.splice() スプライスに要素を追加または削除するには 以下は、基本的な配列メソッドのコードです- 例 <!DOCTYPE html> <html lang="en

  2. JavaScript配列のすべての一意の値を取得するにはどうすればよいですか?

    以下は、JavaScript配列内のすべての一意の値を取得するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>