Ecmascript 6 如何为特定对象键编写筛选条件?
我有一个目标:Ecmascript 6 如何为特定对象键编写筛选条件?,ecmascript-6,Ecmascript 6,我有一个目标: const list = { apples: '2', grapes: '1', almonds: 'allergic', bags: '', } 我想要的是,如果list.bags===''将其从对象中排除,那么最终结果将是: const list = { apples: '2', grapes: '1', almonds: 'allergic', } 我试着过滤掉它,但它总是删除包 const newList = Object.fromEnt
const list = {
apples: '2',
grapes: '1',
almonds: 'allergic',
bags: '',
}
我想要的是,如果list.bags===''
将其从对象中排除,那么最终结果将是:
const list = {
apples: '2',
grapes: '1',
almonds: 'allergic',
}
我试着过滤掉它,但它总是删除包
const newList = Object.fromEntries(Object.entries(list).filter(
([key, v]) => key !== 'bags' && v !== '',
),
);
如何为
过滤器编写这种类型的条件?如果您只想删除单个属性,我会使用对象。分配(或扩展属性)克隆对象,并在必要时删除该属性:
const newList = {...list};
if (newList.bags === '') {
delete newList.bags;
}
是否需要克隆对象?如果没有,您可以使用删除列表.bags
。修复方法就是键!='袋子“| | v!==”代码>但是我会选择@FelixKling,并且说如果(list.bags==“”)删除list.bags,会更容易
@Felix Kling我需要一个不带包的新列表
对象和带所有键的原始列表