返回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 ]

以上是 返回JavaScript中数组中所有最小元素的索引的数组 的全部内容, 来源链接: utcz.com/z/358715.html

回到顶部