在尝试了多种方法之后,我得出的结论是,我可能只是没有以正确的方式看待这一问题。所以我决定在这里问。

我试图获取用户的_id,并且在该对象的内部还有一个visits选项卡,我需要postIdvisitCount

这些是我的尝试:

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);给了我这个:

javascript - 从对象集中获取三个值-LMLPHP

难以访问用户的访问标签值。

我有此表,需要用结果填充:

<th>{{ userclick._id }}</th>

<th>{{ userclick.postId }}</th>

<th>{{ userclick.visitCount }}</th>

它将遍历结果并相应显示它们。

最佳答案

我相信您只需要在通过嵌套值潜水时感到更加舒适即可!

有两个可以嵌套更多值的东西:ArrayObject。进入Array时,您将提供一个数字索引:arr[12]将导致Array中的第13个值(由于从0开始的索引)。进入Object时,通常可以使用点符号:obj.innerProperty为您提供obj的“ innerProperty”。

您要处理的根对象this.userClicksArray。因此,如果要访问内部项目,则需要指定一个数字索引。例如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/

10-11 13:36