JavaScriptで配列の要素を再配置する
問題
最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。
配列arrは、常に偶数の長さになります。
0 <=i
たとえば、関数への入力が-
の場合const arr = [4, -2, 2, -4];
その場合、出力は-
になります。const output = true;
出力の説明
[-2、-4]と[2,4]の2つのグループを使用して、[-2、-4,2,4]または[2,4、-2、-4]を形成できます。
例
このためのコードは-
になりますconst arr = [4, -2, 2, -4]; const canRearrange = (arr = []) => { const map = arr.reduce((acc, num) => { acc[num] = (acc[num] || 0) + 1 return acc }, {}); const keys = Object.keys(map) .map(key => Number(key)) .sort((a, b) => a - b) for (const key of keys) { if (key < 0) { while (map[key] > 0) { if (map[key / 2] > 0) { map[key] -= 1 map[key / 2] -= 1 } else { return false } } } else { while (map[key] > 0) { if (map[key * 2] > 0) { map[key] -= 1 map[key * 2] -= 1 } else { return false } } } } return true }; console.log(canRearrange(arr));
出力
そして、コンソールの出力は-
になりますtrue
-
JavaScript配列slice()
JavaScriptのslice()メソッドは、配列内の選択された要素を返すために使用されます。 構文は次のとおりです- array.slice(start, end) 上記のstartパラメータは、選択を開始する場所を指定する整数ですが、endは選択が終了する場所です。 JavaScriptでslice()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body> <h2>Demo Heading</h2> <p id="t
-
JavaScript array.values()
JavaScriptのarray.values()は、指定された配列のすべての値を含むイテレータオブジェクトを返します。 以下は、array.values()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />