【发布时间】:2020-12-24 07:49:20
【问题描述】:
我试图破坏一个 json。这是原文:
const shoppingLists = [
{
id: 0,
name: "empty shopppinglist",
location: "",
targetDate: "",
priority: "",
isFinished: false,
items: [{
name: ""
}]
},
{
id: 1,
name: "full shopppinglist",
location: "migros",
targetDate: "",
priority: "1",
isFinished: true,
items: [{
name: "apfel"
}]
}}
我现在只需要包含元素但没有项目列表的列表
const { id, name, location, targetDate, priority, isFinished } = shoppingLists
res.send(shoppingLists)
但是当我接收/记录购物清单时,我总是会再次获得整个对象。
我也尝试过物品,...休息但最后结果相同,我做错了什么?
【问题讨论】:
-
shoppingLists 是数组
-
解构的要点是它是分配与对象或数组中分别存在的键或位置相对应的变量的简写。在您的示例中,您正在解构一个不适用于该语法的数组。检查文档。
-
您还可以对该数组创建一个
new Set并从其中的每个对象中切出items和res.send(newArr)- 而不是破坏 -
"我只需要列表,但没有项目列表"。像这样的东西:
const newList = shoppingLists.map(({ items, ...rest }) => rest) -
我完全忘记了这对列表不起作用 const newList = shoppingLists.map(({ items, ...rest }) => rest) 解决了问题