如何从中获取所有的office值并将其存储为一个简单的数组?
var data = {
'XYZ': [{
office: 'xyz.in',
reportName: 'payroll',
event: 'open',
timestamp: '02-12-2019 00:15:29'
},
{
office: 'xyz.in',
reportName: 'payroll',
event: 'processed',
timestamp: '02-12-2019 00:15:32'
}
],
'yyy': [{
office: 'yyy.in',
reportName: 'payroll',
event: 'delivered',
timestamp: '02-12-2019 00:15:29'
},
{
office: 'yyy.in',
reportName: 'payroll',
event: 'open',
timestamp: '02-12-2019 00:15:32'
}
],
'zzz': [{
office: 'xyz.in',
reportName: 'payroll',
event: 'delivered',
timestamp: '02-12-2019 00:15:29'
},
{
office: 'xyz.in',
reportName: 'payroll',
event: 'open',
timestamp: '02-12-2019 00:15:32'
}
]
}输出应如下所示:
officesArray = ['xyz.in', 'yyy.in', 'xyz.in']我的代码是
var Office = (Object.entries(grpDatas).flatMap(([k, v]) => (v.forEach(({office})=> office))))它打印array of undefined。
发布于 2019-12-13 00:17:24
使用map而不是forEach,也就是访问email而不是office
var data = {
'XYZ': [{
office: 'xyz.in',
reportName: 'payroll',
event: 'open',
timestamp: '02-12-2019 00:15:29'
},
{
office: 'xyz.in',
reportName: 'payroll',
event: 'processed',
timestamp: '02-12-2019 00:15:32'
}
],
'yyy': [{
office: 'yyy.in',
reportName: 'payroll',
event: 'delivered',
timestamp: '02-12-2019 00:15:29'
},
{
office: 'yyy.in',
reportName: 'payroll',
event: 'open',
timestamp: '02-12-2019 00:15:32'
}
],
'zzz': [{
office: 'xyz.in',
reportName: 'payroll',
event: 'delivered',
timestamp: '02-12-2019 00:15:29'
},
{
office: 'xyz.in',
reportName: 'payroll',
event: 'open',
timestamp: '02-12-2019 00:15:32'
}
]
}
var Email = Object.values(data).flatMap(item => [...new Set(item.map(({office})=> office))])
console.log(Email)
发布于 2019-12-13 00:23:50
您可以从想要的属性中获得唯一的值。
var data = { XYZ: [{ office: 'xyz.in', reportName: 'payroll', event: 'open', timestamp: '02-12-2019 00:15:29' }, { office: 'xyz.in', reportName: 'payroll', event: 'processed', timestamp: '02-12-2019 00:15:32' }], yyy: [{ office: 'yyy.in', reportName: 'payroll', event: 'delivered', timestamp: '02-12-2019 00:15:29' }, { office: 'yyy.in', reportName: 'payroll', event: 'open', timestamp: '02-12-2019 00:15:32' }], zzz: [{ office: 'xyz.in', reportName: 'payroll', event: 'delivered', timestamp: '02-12-2019 00:15:29' }, { office: 'xyz.in', reportName: 'payroll', event: 'open', timestamp: '02-12-2019 00:15:32' }] },
office = Object.values(data).flatMap(v => [...new Set(v.map(({ office }) => office))]);
console.log(office);
发布于 2019-12-13 00:53:11
const result = Object.keys(data) .map( key => data[key]) .flat() .map( element => element.office)
将所有内容转换为数组并对其进行扁平化非常有帮助!
https://stackoverflow.com/questions/59308668
复制相似问题