[英]console.log the name and the day of this object
如果我只想控制台记录名称和日期,怎么能得到这个:
[Name1: {
day: 'Successfully Graphed'
},
Name2: {
day: 'Successfully Graphed'
},
Name3: {
day: 'Successfully Graphed'
}
Name4: {
day: 'Successfully Graphed'
}],
在这个对象数组中。
[Name1: {
day: 'successfully graphed',
week: 'successfully graphed',
month: 'successfully graphed',
year: 'successfully graphed'
},
Name2: {
day: 'successfully graphed',
week: 'successfully graphed',
month: 'successfully graphed',
year: 'successfully graphed'
},
Name3: {
day: 'successfully graphed',
week: 'successfully graphed',
month: 'successfully graphed',
year: 'successfully graphed'
},
Name4: {
day: 'successfully graphed',
week: 'successfully graphed',
month: 'successfully graphed',
year: 'successfully graphed'
}],
我试图得到它
console.log(result.data);
但是当我把它变成
console.log(result.data.name.day);
它将变得未定义。
将数组 obj 转换为 object 然后尝试它会工作。
var array = [
{key:'k1',value:'v1'},
{key:'k2',value:'v2'},
{key:'k3',value:'v3'}
];
var mapped = array .map(item => ({ [item.key]: item.value }) );
var newObj = Object.assign({}, ...mapped );
console.log(newObj );
假设 result.data 是您的对象数组:
您之所以未定义,是因为结果中不存在name
(因为 object 键实际上称为“Name1”、“Name2”等)。
如果可能的话(也许在问题的 scope 之外),我会改变 result.data 以这种格式返回:
results.data:
[
{
id (or name): <whatever value you want>
day: 'successfully graphed',
week: 'successfully graphed',
month: 'successfully graphed',
year: 'successfully graphed'
},
...
],
然后您可以简单地对结果执行 map,如下所示:
const mappedResults=results.data.map(nameObject=>({name:id,day}))
如果您无法更改结果的结构,我的建议是按照此答案将数据转换为 object 。
首先将数据转换为对象数组。
let array = [
{key:'k1',value:'v1'},
{key:'k2',value:'v2'},
{key:'k3',value:'v3'}
];
然后你就可以从这个数组中获取密钥
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.