繁体   English   中英

console.log 这个 object 的名称和日期

[英]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.

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