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

配列JavaScript内の2つの重複する数値間の距離


少なくとも1つの重複する数値のペアを含む数値の配列を受け取るJavaScript関数を作成する必要があります。

この関数は、配列に存在するすべての重複する数値のペア間の距離を返す必要があります。

このためのコードは-

になります
const arr = [2, 3, 4, 2, 5, 4, 1, 3];
const findDistance = arr => {
   var map = {}, res = {};
   arr.forEach((el, ind) => {
      map[el] = map[el] || [];
      map[el].push(ind);
   });
   Object.keys(map).forEach(el => {
      if (map[el].length > 1) {
         res[el] = Math.min.apply(null, map[el].reduce((acc, val, ind, arr) => {
            ind && acc.push(val - arr[ind - 1]);
            return acc;
         }, []));
      };
   });
   return res;
}
console.log(findDistance(arr));

以下はコンソールでの出力です-

{ '2': 3, '3': 6, '4': 3 }

  1. JavaScriptの範囲間の自然数の配列を返す

    問題 範囲を指定して、2つの数値[a、b](a <=b)の配列を受け取るJavaScript関数を作成する必要があります。 この関数は、それらを含むaとbの間のすべての自然数の配列を返す必要があります 例 以下はコードです- const range = [6, 45]; const naturalBetweenRange = ([lower, upper] = [1, 1]) => {    if(lower > upper){       return [];    };    con

  2. JavaScriptの配列に存在する数値と文字列番号の違い

    問題 整数の数値表現と文字列表現の混合配列を受け取るJavaScript関数を作成する必要があります。 この関数は、文字列整数を合計し、これを非文字列整数の合計から減算する必要があります。 例 以下はコードです- const arr = [5, 2, '4', '7', '4', 2, 7, 9]; const integerDifference = (arr = []) => {    let res = 0;    for(let i = 0; i < arr.length; i++)