Значение поля, показывающее нулевое значение - PullRequest
0 голосов
/ 21 апреля 2020
const book1 = this.state.books[0]; //giving one book
console.log(book1); //output->{id: 1, bookname: "Physics", price: 600, author: "ABC", pages: 567, …}
const {id,bookname,price,author,pages,category} = {book1};
console.log(price); //output->undefined

Я уже много чего перепробовал. Как узнать стоимость конкретной недвижимости? Вот файл JSON:

 [
    {
            "id": 1,
            "bookname": "Physics",
            "price": 600,
            "author": "ABC",
            "pages": 567,
            "category" : "Science"
    }

]

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Показанная деструктуризация объекта JavaScript недопустима из-за фигурных скобок вокруг book1.

Удалите эти скобки:

const { id, bookname, price, author, pages, category } = book1;

Вот более простой пример:

> const book = { price: 600 }
undefined
> const { price } = book
undefined
> price
600
0 голосов
/ 21 апреля 2020

Да, как упоминал Джейк, то, что вы пытаетесь сделать здесь, называется деструктурирующим заданием. Так что согласно правильному синтаксису,

const { id, bookname, price, author, pages, category } = book1;

это на самом деле будет означать,

const id=book1.id
const bookname=book1.bookname

И так далее. Вы можете взглянуть на https://javascript.info/destructuring-assignment для получения дополнительной информации о назначении деструктуры.

...