Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';从对象获取实体的最佳方式是什么?_Javascript_Ecmascript 6 - Fatal编程技术网

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]
};
我使用es6
rest/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我担心的是循环的性能问题。太好了!我从来都不知道数组可以用作对象的目标。你能解释一下
布尔值如何与过滤器一起工作吗?