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