Object.keys () и найдите

Пытаюсь понять, почему я получаю сообщение об ошибке, когда пытаюсь использовать ES6.find с этими данными ниже. Я пытаюсь получить запись с номером 3.

{
 {id:10,title:'Dairy & Eggs'}
 {id:7,title:'Laundry & Househo,}
 {id:9,title:'Bakery'}
 {id:8,title:'Fresh Food'}
 {id:4,title:'Frozen Food'}
 {id:6,title:'Health & Beauty'}
 {id:3,title:'Food Cupboard'}
 {id:5,title:'Drinks'}
 {id:2,title:'Chilled Food'}
}

Я пытался

 const category = categories.find(function (category) { return category.id === 3; } 

 console.info(category)

а также

const category = categories.filter(category => category.id === 3) 
console.info(category)

Любая помощь приветствуется.

Публикуйте свои данные, используя синтаксис JSON. Это массив или объект?

Bergi 01.05.2018 18:46

Я не уверен, что это за первый фрагмент, похоже, неверный синтаксис. Может быть, это какая-то новая функция, с которой я незнаком.

Asad Saeeduddin 01.05.2018 18:46

Какое отношение имеет название к вашему вопросу - вы нигде не используете Object.keys?

Bergi 01.05.2018 18:47

@AsadSaeeduddin Нет, это действительно неверный синтаксис, а не новая функция

Bergi 01.05.2018 18:47
Какая ошибка вы получаете, когда пробуете свой код?
Bergi 01.05.2018 18:48

Я изучаю reactjs и redux. Я пытаюсь перебрать состояние и найти одну запись.

Benjamin 01.05.2018 18:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
6
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Array.filter() и Array.find() работают над массивом, а не над объектом.

Либо вам нужно изменить данные на массив объектов как

[
 {id:10,title:'Dairy & Eggs'},
 {id:7,title:'Laundry & Househo'},
 {id:9,title:'Bakery'},
 {id:8,title:'Fresh Food'},
 {id:4,title:'Frozen Food'},
 {id:6,title:'Health & Beauty'},
 {id:3,title:'Food Cupboard'},
 {id:5,title:'Drinks'},
 {id:2,title:'Chilled Food'}
]

ДЕМО

 var categories = [
  {
    "id": 10,
    "title": "Dairy & Eggs"
  },
  {
    "id": 7,
    "title": "Laundry & Househo"
  },
  {
    "id": 9,
    "title": "Bakery"
  },
  {
    "id": 8,
    "title": "Fresh Food"
  },
  {
    "id": 4,
    "title": "Frozen Food"
  },
  {
    "id": 6,
    "title": "Health & Beauty"
  },
  {
    "id": 3,
    "title": "Food Cupboard"
  },
  {
    "id": 5,
    "title": "Drinks"
  }
];
const category = categories.filter(category => category.id === 3) ; 
console.info(category)

Спасибо за ответ, работает. `let fromState = Object.keys (категории) .map (ключ => категории [ключ]) const category = fromState.find (function (category) {return category.id === 3;});`

Benjamin 01.05.2018 18:55

Другие вопросы по теме