С помощью метода filter() вернуть индекс максимального значения

281
05 ноября 2017, 20:10
var arr = [1, 5, 6, 9, 7];
var arr2 = arr.filter(function(element, index){
   ...
   return index;
});
Answer 1

Array.filter для этого не предназначен.

А Array.reduce - подойдет.

https://www.w3schools.com/jsref/jsref_reduce.asp

var arr1 = [1, 5, 6, 9, 7]; 
 
var index = arr1.reduce(function(result, currentValue, currentIndex, arr) { 
  return (currentValue > arr[result])? currentIndex : result; 
}, 0); 
 
console.log(index);

Answer 2

Как правильно написано в соседнем ответе

Array.filter для этого не предназначен.

Поэтому просто еще один вариант без него.

let arr = [1, 5, 6, 9, 7]; 
let index = arr.indexOf(Math.max(...arr)); 
console.log(index);

READ ALSO
Как сохранить коллекцию в localStorage

Как сохранить коллекцию в localStorage

Помогите пожалуйста понять как нужно сохранять коллекцию геообъектов(маркеров) в localStorage

434
Стоит ли использовать Function?

Стоит ли использовать Function?

Всем приветСразу говорю, мне это не нужно для выполнения каких-либо задач, поэтому не нужно ничего говорить про "ошибку молотка"

300
Не обнуляются переменные

Не обнуляются переменные

Комрады нужна ваша помощь

245