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

JavaScriptの配列内の最小要素のすべてのインデックスの配列を返します


次のような数値の配列があるとします-

const arr = [1,2,3,4,1,7,8,9,1];

配列内の最小要素のインデックスを見つけたいとします。これには、単純に-

を使用できます。
const min = Math.min.apply(Math, arr);
const ind = arr.indexOf(min);

このコードはindを0に正常に設定しますが、これは確かに正しいです。

しかし、達成したいのは、上記の配列(3つ)のように、配列に複数の最小要素がある場合、最小要素のすべてのインデックスを含む配列を返す必要があるということです。

したがって、この配列の場合、必要な出力は-

です。
const ind = [0, 4, 8]

数値の配列を受け取り、配列内の最小要素のすべてのインデックスの配列を返すJavaScript関数を作成する必要があります。

したがって、この関数のコードを書いてみましょう-

このためのコードは-

になります
const arr = [1,2,3,4,1,7,8,9,1];
const minArray = arr => {
   const min = arr.reduce((acc, val) => Math.min(acc, val), Infinity);
   const res = [];
   for(let i = 0; i < arr.length; i++){
      if(arr[i] !== min){
         continue;
      };
      res.push(i);
   };
   return res;
};
console.log(minArray(arr));

出力

コンソールの出力は-

になります
[ 0, 4, 8 ]

  1. 要素がJavaScriptのオブジェクトの列挙可能なプロパティ値である配列を返す方法は?

    いくつかの論理メソッドを使用して、オブジェクトから値とキーを取得できますが、これらのメソッドは値を配列として返さないため、多くの場合非常に便利です。 JavascriptはObject.values()を提供しています 要素が列挙可能なプロパティである配列を取得するメソッド オブジェクトの値。 構文 Object.values(obj); このメソッドはオブジェクトを取ります 引数として、要素がプロパティ値に他ならない配列を返します オブジェクトの。 例-1 次の例では、オブジェクトはメソッド object.values()を介して送信されます。 プロパティ値は配列として表示されました。

  2. JavaScriptを使用して同じ配列内の配列の要素を複製するにはどうすればよいですか?

    以下は、同じ配列内の配列の要素を複製するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" > <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>   &nbs