Javascript 什么';从对象获取实体的最佳方式是什么?
我不知道如何描述我的情况。如果题目不清楚,请帮我修改 这是我的案例,我有这样一个数据结构:Javascript 什么';从对象获取实体的最佳方式是什么?,javascript,ecmascript-6,Javascript,Ecmascript 6,我不知道如何描述我的情况。如果题目不清楚,请帮我修改 这是我的案例,我有这样一个数据结构: const medicineEntities = { 1: {name: ''}, 2: {name: ''}, 3: {name: ''} ids: [1, 2], invalidIds: [3] }; 我使用es6rest/spread操作符和解构赋值 const{ids,invalidIds,…medicines}=医疗实体 我只想用药。但是由于eslint,ids和inval
const medicineEntities = {
1: {name: ''},
2: {name: ''},
3: {name: ''}
ids: [1, 2],
invalidIds: [3]
};
我使用es6rest/spread
操作符和解构赋值
const{ids,invalidIds,…medicines}=医疗实体代码>
我只想用药
。但是由于eslint
,ids
和invalidIds
会给我:
[eslint]“invalidIds”被分配了一个值,但从未使用过。(无未使用的VAR)
我知道我可以禁用一些eslint
规则,警告将消失
但是我想知道,如何在没有循环的情况下获得药品
const medicines=medicineEntities.ids.map(id=>medicineEntities[id])
如果没有,则可以将数组作为的目标,并仅获取整数键
然后使用过滤器对阵列进行过滤,以过滤稀疏元素
Boolean
用作的回调并返回
- 一个值,如
'
,0
,NaN
,未定义
,false
,null
等,或用于
- 值,如对象、非空字符串、每个数字,但不是零,
true
在这种情况下,如果不需要undefined
,则对象(不带null
)位于结果集中
const
medicineEntities={1:{name:'},2:{name:'},3:{name:'},ID:[1,2],无效ID:[3]},
medicines=Object.assign([],medicineEntities).filter(布尔值);
控制台日志(药品)代码>
.as console wrapper{max height:100%!important;top:0;}
在不更改数据的情况下,您的最后一行可能是您能得到的最好的structure@SergioTulentsev我担心的是循环的性能问题。太好了!我从来都不知道数组可以用作对象的目标。你能解释一下布尔值如何与过滤器一起工作吗?