JavaScriptでインデックスの合計が最小の共通要素
問題
最初と2番目の引数として、2つのリテラル配列arr1とarr2を受け取るJavaScript関数を作成する必要があります。
私たちの関数は、共通の要素を見つける必要があります arr1とarr2で、最小リストインデックス合計 。回答の間に選択の同点がある場合は、注文要件なしですべてを出力する必要があります。
たとえば、関数への入力が-
の場合const arr1 = ['a', 'b', 'c', 'd']; const arr2 = ['d', 'a', 'c'];
その場合、出力は-
になります。const output = ['a'];
出力の説明
'd'と'a'は両方の配列で共通であるため、'd'のインデックス合計は3+ 0 =3であり、'a'のインデックス合計は0+ 1 =1です。したがって、'a'は必須要素です。
例
以下はコードです-
const arr1 = ['a', 'b', 'c', 'd']; const arr2 = ['d', 'a', 'c']; const findCommon = (arr1 = [], arr2 = []) => { let sum = Infinity const map = arr1.reduce((acc, str, index) => { acc[str] = index return acc }, {}) for (let i = 0; i < arr2.length; i++) { const index1 = map[arr2[i]] if (index1 >= 0 && index1 + i < sum) { sum = index1 + i } } const result = [] for (let i = 0; i < arr2.length; i++) { const index1 = map[arr2[i]] if (index1 >= 0 && index1 + i === sum) { result.push(arr2[i]) } } return result } console.log(findCommon(arr1, arr2));
出力
以下はコンソール出力です-
['a']
-
JavaScriptのインデックス合計でも
問題 整数の配列を受け取るJavaScript関数を作成する必要があります。この関数は、偶数のインデックスを持つすべての整数の合計に、最後のインデックスの整数を掛けたものを返す必要があります。 const arr = [4, 1, 6, 8, 3, 9]; 期待される出力- const output = 117; 例 以下はコードです- const arr = [4, 1, 6, 8, 3, 9]; const evenLast = (arr = []) => { if (arr.length === 0) { r
-
JavaScriptでインデックスの合計が最小の共通要素
問題 最初と2番目の引数として、2つのリテラル配列arr1とarr2を受け取るJavaScript関数を作成する必要があります。 私たちの関数は、共通の要素を見つける必要があります arr1とarr2で、最小リストインデックス合計 。回答の間に選択の同点がある場合は、注文要件なしですべてを出力する必要があります。 たとえば、関数への入力が-の場合 const arr1 = ['a', 'b', 'c', 'd']; const arr2 = ['d', 'a', 'c'];