@s24344

Как правильно отфильтровать массив — (native javascript)?

Здравствуйте. Подскажите, пожалуйста, как правильно решить следующую задачу:
У меня есть массив:
const data = [
  {
    id: "1",
    name: "Apple iPhone 5c",
    memory: "16GB, 32GB and RAM 1 GB"
  },
  {
    id: "2",
    name: "Apple iPhone 6",
    memory: "16GB, 32GB and RAM 1 GB"
  },
  {
    id: "3",
    name: "Lenovo A6000",
    memory: "16GB, 32GB and RAM 1 GB"
  }
]

И есть строка:
le
Как образом мне отфильтровать массив, чтобы в данном случае вернулся массив:
[
  {
    id: "3",
    name: "Lenovo A6000",
    memory: "16GB, 32GB and RAM 1 GB"
  }
]
  • Вопрос задан
  • 104 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const lowered = str.toLowerCase();
const filtered = data.filter(n => !n.name.toLowerCase().indexOf(lowered));

или

const filtered = data.filter(function(n) {
  return n.name.toLowerCase().startsWith(this);
}, str.toLowerCase());

или

const filtered = data.filter(((reg, n) => reg.test(n.name)).bind(null, RegExp(`^${str}`, 'i')));
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
result = data.filter(function(el) { return el.name.toLowerCase().indexOf('le') == 0; });
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Написать функцию, которая перебирает массив, перебирает в массиве объекты и проверяет вхождение вашей подстроки в значение объекта. И юзать потом mySearch(arr,search)
Если не понятно о чем я - читать тут и до конца: https://learn.javascript.ru/array
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы