简体   繁体   English

map 这个 object 与阵列的最佳方式

[英]Best way to map this object with array

I need to reach to the property: value in each drupal_internal__target_id: 2220, but i don't know how can i map to get that value.我需要访问属性:每个 drupal_internal__target_id 中的值:2220,但我不知道如何通过 map 获取该值。 This is what i tried so far...到目前为止,这是我尝试过的...

organismosId(){
// rel = data[0].relationships.organismo_auditado.data[0].meta.drupal_internal__target_id
// attr = included[0].attributes.drupal_internal__tid
this.buscadorService.getNodes()
.subscribe((data: InformesCounter) => {
    this.informesNode = data.data;
    const relationships = this.informesNode.map((data: { relationships: { organismo_auditado: { data: any; }; }; }) => data.relationships.organismo_auditado.data);
    console.log(relationships);
    const nodeRelationships = relationships.map((data: any) => data);
    console.log(nodeRelationships);
  })
}

And this is my JSON response of what i want to get:这是我想要得到的 JSON 回复:

在此处输入图像描述

The problem are the indexes like [0] and when i finally got there it returns undefined.问题是像 [0] 这样的索引,当我最终到达那里时它返回未定义。 Thanks谢谢

You can flat-map the overall data entries and internally map the data nodes inside the relationship metadata.您可以平面映射整体数据条目和内部 map 关系元数据内的数据节点。

 const run = () => { const ids = data.flatMap(({ relationships: { organismo_auditado: { data } } }) => data.map(({ meta: { drupal_internal_target_id } }) => drupal_internal_target_id)); console.log(ids); }; const data = [{ relationships: { organismo_auditado: { data: [{ id: '41ff8a06-c678-4db0-aa68-7887fd318345', meta: { drupal_internal_target_id: 2220 } }] } } }, { relationships: { organismo_auditado: { data: [{ id: 'c677dcc2-b7b7-4bf9-8cbf-c8c6faf9aa6f', meta: { drupal_internal_target_id: 2221 } }] } } }]; run();

If you also want to include the ID, you can map objects:如果你还想包括 ID,你可以 map 个对象:

 const run = () => { const ids = data.flatMap(({ relationships: { organismo_auditado: { data } } }) => data.map(({ id, meta: { drupal_internal_target_id } }) => ({ id, drupal_internal_target_id }))); console.log(ids); }; const data = [{ relationships: { organismo_auditado: { data: [{ id: '41ff8a06-c678-4db0-aa68-7887fd318345', meta: { drupal_internal_target_id: 2220 } }] } } }, { relationships: { organismo_auditado: { data: [{ id: 'c677dcc2-b7b7-4bf9-8cbf-c8c6faf9aa6f', meta: { drupal_internal_target_id: 2221 } }] } } }]; run();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM