Почему не фильтрует по индексу?

195
22 июня 2018, 10:50

Вот как выглядит переменная sort

Пытаюсь сортировать по индекс, result получается пустой массив

var sort= [{ 
  "car": "Pontiac", 
  "id": 1 
}, { 
  "car": "Mitsubishi", 
  "id": 2 
}, { 
  "car": "Toyota", 
  "id": 3 
}, { 
  "car": "Lexus", 
  "id": 4 
}, { 
  "car": "GMC", 
  "id": 5 
}, { 
  "car": "Mazda", 
  "id": 6 
}, { 
  "car": "Saturn", 
  "id": 7 
}, { 
  "car": "Scion", 
  "id": 8 
}, { 
  "car": "Volkswagen", 
  "id": 9 
}, { 
  "car": "Pontiac", 
  "id": 10 
}]; 
 
console.log(sort); 
let reuslt = ''; 
result = sort.filter(index => { 
  return index > 2 && index < 4; 
}); 
console.log(result);

Answer 1

Метод filter принимает функцию со следующей сигнатурой:

function (element, index, sourceArray)

В примере, передается функция с одним параметром, так как параметры позиционные, а не именованные, то значением внутри функции будет все тот же элемент массива, а не его индекс.

Чтобы использовать индекс, нужно использовать второй параметр:

var sort = [{ 
  "car": "Pontiac", 
  "id": 1 
}, { 
  "car": "Mitsubishi", 
  "id": 2 
}, { 
  "car": "Toyota", 
  "id": 3 
}, { 
  "car": "Lexus", 
  "id": 4 
}, { 
  "car": "GMC", 
  "id": 5 
}, { 
  "car": "Mazda", 
  "id": 6 
}, { 
  "car": "Saturn", 
  "id": 7 
}, { 
  "car": "Scion", 
  "id": 8 
}, { 
  "car": "Volkswagen", 
  "id": 9 
}, { 
  "car": "Pontiac", 
  "id": 10 
}]; 
 
let result = ''; 
result = sort.filter((_, index) => index > 2 && index < 4); 
console.log(result);

READ ALSO
Получить Request headers с помощью WebRequest

Получить Request headers с помощью WebRequest

Такая проблема: На сайте стоит хорошая защита, есть кука, которая ставится "истекшей" сразу по загрузке страницы, но при $ajax эта кука всё равно...

154
Как закрыть Lightbox по клику на кнопку &ldquo;Назад&rdquo;?

Как закрыть Lightbox по клику на кнопку “Назад”?

На сайте есть модальное окно Bootstrap 4, в нем фотогалерея, список миниатюр картинокПо клику на миниатюру, она открывается на всю ширину экрана...

203
Плагин для выбора изображений

Плагин для выбора изображений

Нужен плагин для отображения картинок разных размеров при вводе в input полеКак пример нужно на подобии typeahead

142
Почему asm.js влияет на будущее js?

Почему asm.js влияет на будущее js?

Смотрю предложение по добавлению BigInt в javascriptТам целый раздел посвящён совместимости с asm

155