Function that returns the position of the smallest number in a vector

0

Simple ... I need to know the position of a value (the smallest value) within a vector, to find out the smallest value I'm using Math.min() but to print the result I need to know in which position the value is in the vector. It could be a function that returns the n position in the value in the vector.

    
asked by anonymous 10.11.2016 / 19:08

3 answers

1

You can use Math.min.apply to find the smallest value of your array:

var numbers = [1, 5, 0.5, 0.8, 10];
var min = Math.min.apply(null, numbers);

console.log(min);

And to return the position, you can use indexOf as in the other responses.

    
10.11.2016 / 19:59
1

You can use Array # indexOf :

var array = [1,2,3,4,5];
console.log(array.indexOf(2)); // retorna 1

var inputs = document.querySelectorAll("input"); // obtem todos os inputs
var valores = []; // vetor para armanezar somente os valores. Esse vetor será usado para obter o minimo entre um conjunto de valores

// funcao que será chamada pelo botão verificar
function verificar(){
  // forEach itera os inputs do formulario
  inputs.forEach(item =>{  
    if (item.value) // se o valor do input for valido (não vazio, nem espacos em branco, nem NaN, etc
      valores.push(parseFloat(item.value)); // empilha (adiciona) na lista de valores
  });
  var menorValor = Math.min.apply(null, valores); //usamos a função Math min para obter o menor valor de um conjunto de valores
  console.log(valores.indexOf(menorValor));
}
<input type="text" /><br/>
<input type="text" /><br/>
<input type="text" /><br/>
<button onclick="verificar()">Verificar</button>
    
10.11.2016 / 19:12
1

Use indexOf

var arr = [1,2,3];
arr.indexOf(Math.min(...arr));
    
10.11.2016 / 19:14