首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从地图的属性中提取特定值

从地图的属性中提取特定值
EN

Stack Overflow用户
提问于 2018-03-19 20:15:42
回答 3查看 30关注 0票数 0

我目前有以下数据:

代码语言:javascript
复制
const data = [
        {
          Zone: 'Airport',
          Lane: 'AIRDEL',
          Capacity: '90',
          Status: '80',
          Spaces: '10',
          LastAuditedOn: 'due',
          AuditedBy: 'Ross',
          FirstCollection: '-',
          LastCollection: '-',
        },
        {
          Zone: 'Arrivals',
          Lane: '4',
          Capacity: '10',
          Status: '0',
          Spaces: '10',
          LastAuditedOn: '-',
          AuditedBy: '-',
          FirstCollection: '9:00PM',
          LastCollection: '01:00AM',
        },
        {
          Zone: 'Unknown',
          Lane: 'BHX_HOLD1',
          Capacity: '80',
          Status: '40',
          Spaces: '40',
          LastAuditedOn: 'due',
          AuditedBy: 'Max',
          FirstCollection: '-',
          LastCollection: '-',
        },
]

我目前正在尝试提取基于属性(区域、车道、容量)的数据作为示例。

代码语言:javascript
复制
const multiHeaderBy = 'Zone';
data.forEach((key) => {
   console.log(key.find(multiHeaderBy))
});

我希望值arrivals, airport, unknown出现在console.log中,但我得到了未定义。

想法?

EN

回答 3

Stack Overflow用户

发布于 2018-03-19 20:19:24

您只需使用.map.join()方法即可完成此操作,例如:

代码语言:javascript
复制
const data=[{Zone:'Airport',Lane:'AIRDEL',Capacity:'90',Status:'80',Spaces:'10',LastAuditedOn:'due',AuditedBy:'Ross',FirstCollection:'-',LastCollection:'-',},{Zone:'Arrivals',Lane:'4',Capacity:'10',Status:'0',Spaces:'10',LastAuditedOn:'-',AuditedBy:'-',FirstCollection:'9:00PM',LastCollection:'01:00AM',},{Zone:'Unknown',Lane:'BHX_HOLD1',Capacity:'80',Status:'40',Spaces:'40',LastAuditedOn:'due',AuditedBy:'Max',FirstCollection:'-',LastCollection:'-',}];

const multiHeaderBy = 'Zone';
var txt = data.map(x => x[multiHeaderBy]);
console.log(txt.join(', '));

票数 1
EN

Stack Overflow用户

发布于 2018-03-19 20:19:25

使用map函数通过key获取数组

代码语言:javascript
复制
var valueArr = data.map(e=>e.Zone);

console.log(valueArr) // ["Airport", "Arrivals", "Unknown"]
票数 0
EN

Stack Overflow用户

发布于 2018-03-19 20:24:06

你必须使用[] backet而不是find函数。[] backet用于使用动态键从对象中获取值。

代码语言:javascript
复制
    const multiHeaderBy = 'Zone';
data.forEach((key) => {
   console.log(key[multiHeaderBy])
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49362747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档