JavaScriptでの相対的な並べ替え
たとえば、arr1とarr2の2つの配列があるとします。 arr2の要素は別個のものであり、arr2のすべての要素もarr1にあります。
このような2つの配列を取り込んで、arr1のアイテムの相対的な順序がarr2と同じになるようにarr1の要素を並べ替えるJavaScript関数を作成する必要があります。arr2に表示されない要素は最後に配置する必要があります。 arr1の昇順。
たとえば、-2つの入力配列が-
の場合const arr1 = [2,3,1,3,2,4,6,7,9,2,19]; const arr2 = [2,1,4,3,9,6];>
その場合、出力は-
になります。const output = [2,2,2,1,4,3,3,9,6,7,19];
例
const arr1 = [2,3,1,3,2,4,6,7,9,2,19]; const arr2 = [2,1,4,3,9,6]; const relativeSortArray = (arr1, arr2) => { const map = new Map(); const len = arr2.length; arr2.forEach((a, i) => { map.set(a, i); }); return arr1.sort((a, b) => { a = map.has(a) ? map.get(a) : len + a; b = map.has(b) ? map.get(b) : len + b; return a - b; }); }; console.log(relativeSortArray(arr1, arr2));
出力
そして、コンソールの出力は-
になります[ 2, 2, 2, 1, 4, 3, 3, 9, 6, 7, 19 ]
-
JavaScriptでの頻度による文字列文字の並べ替え
問題 文字列を唯一の引数として受け取るJavaScript関数を作成する必要があります。 関数は、元の文字列に基づいて新しい文字列を準備する必要があります。この文字列では、ほとんどの回数出現する文字が最初に配置され、次に頻度が減少する数字が配置されます。 たとえば、関数への入力が-の場合 const str = 'free'; その場合、出力は-になります。 const output = 'eefr'; 出力の説明: eは2回表示されるため、最初に配置され、次にrとfが配置されます。 例 このためのコードは-になります const str =
-
JavaScriptでの配列の不均一な並べ替え
問題 唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。この関数は、並べ替え後に要素がこのパターンに従うように、この配列を並べ替える必要があります- arr[0] < arr[1] > arr[2] < arr[3].... たとえば、関数への入力が-の場合 const arr = [1, 5, 1, 1, 6, 4]; 次に、出力は次のようになります(複数の可能な回答が存在する可能性もあります)- const output = [2, 3, 1, 3, 1, 2]; 例 このためのコードは-になります const arr