在尝试了多种方法之后,我得出的结论是,我可能只是没有以正确的方式看待这一问题。所以我决定在这里问。
我试图获取用户的_id
,并且在该对象的内部还有一个visits
选项卡,我需要postId
和visitCount
。
这些是我的尝试:
this.analyticsService.getClicks();
this.userClicksSub = this.analyticsService
.getUserAnalyticsClicks()
.subscribe((userClicks: Clicks[]) => {
this.userClicks = userClicks;
console.log(this.userClicks);
// const visits = this.userClicks['visits'];
// console.log(visits);
// for (const item of this.userClicks) {
// const visits = item.visitCount;
// const visits = item.visitCount['visits'];
// const visits = item['visits'];
// const postId = visits[i]['postId'];
// console.log(item['visitCount']);
// }
// this.userId.push(this.userClicks);
// console.log(this.userId);
// console.log(this.userId.user[1]);
// console.log(this.userClicks.user.user); //
// console.log('test', this.userClicks[2]);
});
console.log(this.userClicks);
给了我这个:难以访问用户的访问标签值。
我有此表,需要用结果填充:
<th>{{ userclick._id }}</th>
<th>{{ userclick.postId }}</th>
<th>{{ userclick.visitCount }}</th>
它将遍历结果并相应显示它们。
最佳答案
我相信您只需要在通过嵌套值潜水时感到更加舒适即可!
有两个可以嵌套更多值的东西:Array
和Object
。进入Array
时,您将提供一个数字索引:arr[12]
将导致Array
中的第13个值(由于从0开始的索引)。进入Object
时,通常可以使用点符号:obj.innerProperty
为您提供obj
的“ innerProperty”。
您要处理的根对象this.userClicks
是Array
。因此,如果要访问内部项目,则需要指定一个数字索引。例如this.userClicks[2]
。我发现您已尝试执行this.userClicks['visits']
,该操作将不起作用,因为this.userClicks
没有“ visits”属性。 this.userClicks
中的每个项目都具有您要查找的“ visits”属性。
如果要将相同的操作应用于this.userClicks
中的所有项目,则需要使用某种循环。
例如。一个简单的for循环:
for (let i = 0; i < this.userClicks.length; i++) {
let currentClick = this.userClicks[i];
// do something with `currentClick`
}
例如。声明式
forEach
:this.userClicks.forEach(currentClick => {
// do something with `currentClick`
});
关于javascript - 从对象集中获取三个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52227108/