【发布时间】:2023-04-08 18:22:02
【问题描述】:
假设我有这个对象:
const someProps = { darkMode: true, underlineMistakes: false, spellingView: (...), grammerView: (...) };
我不一定知道任何道具的名称,除了 1+ 以“视图”结尾。
我只想解构以“view”结尾的键,我想做类似的事情:
const propsEndingInView = Object.keys(someProps).filter(prop => !prop.endsWith('View');
const {
...nonViewProps, // darkMode, underlineMistakes
propsEndingInView // {spellingView: (...), grammerView: (...)}
} = someProps;
我需要以某种方式将这两种道具分开,最好是同时
我想不出该怎么做,或者即使有可能。
【问题讨论】:
-
如果你不知道键的名称,为什么要将它们解构为你也不知道名称的变量?!说你会成功,然后呢?之后你会写什么来访问你刚刚创建的那些变量?
-
@deceze 我正在尝试构建一个通用的选项卡组件,并将选项卡的标签基于道具。我才明白你的意思,让我修正一下这个例子。
-
您可以在不进行解构的情况下执行此操作,您是否有特殊原因不想“手动”处理它?
-
当您拥有
propsEndingInView时,您已经拥有了钥匙。发布您可以简单地获取someProps[propsEndingInView[0]]等值的帖子。但是我认为您可能想要映射那些
标签: javascript ecmascript-6 destructuring