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

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']

  1. 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

  2. JavaScriptでインデックスの合計が最小の共通要素

    問題 最初と2番目の引数として、2つのリテラル配列arr1とarr2を受け取るJavaScript関数を作成する必要があります。 私たちの関数は、共通の要素を見つける必要があります arr1とarr2で、最小リストインデックス合計 。回答の間に選択の同点がある場合は、注文要件なしですべてを出力する必要があります。 たとえば、関数への入力が-の場合 const arr1 = ['a', 'b', 'c', 'd']; const arr2 = ['d', 'a', 'c'];