Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从对象集中获取三个值_Javascript_Object - Fatal编程技术网

Javascript 从对象集中获取三个值

Javascript 从对象集中获取三个值,javascript,object,Javascript,Object,在尝试了许多事情之后,我得出了一个结论,我可能只是没有正确看待这个问题。所以我决定在这里提问 我正在尝试获取用户的\u id,在该对象内部还有一个访问选项卡,我需要postId和访问帐户 以下是我的尝试: this.analyticsService.getClicks(); this.userClicksSub = this.analyticsService .getUserAnalyticsClicks() .subscribe((userClicks: Cli

在尝试了许多事情之后,我得出了一个结论,我可能只是没有正确看待这个问题。所以我决定在这里提问

我正在尝试获取用户的
\u id
,在该对象内部还有一个
访问
选项卡,我需要
postId
访问帐户

以下是我的尝试:

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)给了我以下信息:

难以访问用户访问选项卡值

我有一个表格,需要填入结果:

{{userclick.\u id}}

{{userclick.postId}}

{{userclick.visitCount}}


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

由于存在嵌套数组,因此需要迭代两次

this.userClicks.forEach(function(item){
 item.user.visit.forEach(function(elem){
  console.log(elem.visitCount)
 })
})

由于存在嵌套数组,因此需要迭代两次

this.userClicks.forEach(function(item){
 item.user.visit.forEach(function(elem){
  console.log(elem.visitCount)
 })
})

在for循环中,可以使用以下方法解决问题:

item.user.visit[whatever index you want]._id

在for循环中,可以使用以下方法解决问题:

item.user.visit[whatever index you want]._id

我相信你只需要在浏览嵌套的值时感觉更舒服一点

有两种东西可以嵌套更多的值:
数组
,和
对象
。当跳入
数组时,您提供了一个数字索引:
arr[12]
将导致
数组中的第13个值(因为基于0的索引)。当深入到
对象时
通常可以使用点表示法:
obj.innerProperty
提供了
obj
的“innerProperty”

您正在处理的根对象,
this.userClicks
,是一个
数组
。因此,如果要访问内部项,需要指定数字索引;e、 g.
this.userClicks[2]
。我看到您尝试了
此操作。userClicks['visions']
,这将不起作用,因为
此操作。userClicks
没有“visions”属性;在
中插入每个项目。userClicks
具有您要查找的“访问”属性

如果要将相同的操作应用于
this.userClicks
中的所有项目,则需要使用某种循环

例如,一个简单的for循环:

for (let i = 0; i < this.userClicks.length; i++) {
  let currentClick = this.userClicks[i];
  // do something with `currentClick`
}

我相信你只需要在浏览嵌套的值时感觉更舒服一点

有两种东西可以嵌套更多的值:
数组
,和
对象
。当跳入
数组时,您提供了一个数字索引:
arr[12]
将导致
数组中的第13个值(因为基于0的索引)。当深入到
对象时
通常可以使用点表示法:
obj.innerProperty
提供了
obj
的“innerProperty”

您正在处理的根对象,
this.userClicks
,是一个
数组
。因此,如果要访问内部项,需要指定数字索引;e、 g.
this.userClicks[2]
。我看到您尝试了
此操作。userClicks['visions']
,这将不起作用,因为
此操作。userClicks
没有“visions”属性;在
中插入每个项目。userClicks
具有您要查找的“访问”属性

如果要将相同的操作应用于
this.userClicks
中的所有项目,则需要使用某种循环

例如,一个简单的for循环:

for (let i = 0; i < this.userClicks.length; i++) {
  let currentClick = this.userClicks[i];
  // do something with `currentClick`
}
请尝试下一步:
var-infos=userClicks.map(user=>user.visions.map({u-id,postId})=>({id:{u-id,postId}))).reduce((result,currentValue)=>result.concat(currentValue),[])

infos.forEach(info=>console.log(
${info.id}${info.postId}${info.visitCount}

请尝试下一步:
var-infos=userClicks.map(user=>user.visions.map({u-id,postId})=>({id:{u-id,postId}))).reduce((result,currentValue)=>result.concat(currentValue),[])


infos.forEach(info=>console.log(
${info.id}${info.postId}${info.visitCount}

哪个用户?有3个??是的,最终会有加载,我只需要提取访问过某个页面的用户,等等,哪个用户?有3个??是的,最终会有加载,我只需要提取访问过某个页面的用户等。当我记录currentClick时,它会重复值x3,因为有3个不同的对象,这正常吗?不要认为它会“重复”值3次!相反,可以将
this.userClicks
视为一个单独的“东西”,其中包含3个以上的东西。我想你期待的是
这个。userClicks
是一个“点击”的表示,而实际上它是一系列点击的表示。好的,我明白了,那么我如何保存我需要的三个特殊值呢?你想获得“\u id”、“postId”和“visitCount”。问题是,每个值都有几个实例:有一系列的“点击”,该系列中的每个“点击”都有一系列的“访问”。然后,对于该系列中的每次访问,您都要寻找3个值。您需要知道单击的索引和访问的索引,才能谈论特定的3个值。例如,如果您知道
clickIndex
visitIndex
,则可以说
let specificVisitOfSpecificClick=this.usersClicks[clickIndex].user.visitIndex[visitIndex]
。现在您可以讨论
specificVisitoSpecificClick.\u id
specificVisitoSpecificClick.visitCount
,等等。当我记录当前单击时,它会重复值x3,因为有3个不同的对象,这正常吗?不要将其视为“重复”值3次!相反,可以将
this.userClicks
视为一个单独的“东西”,其中包含3个以上的东西。我想你期待的是
这个。userClicks
是一个“点击”的表示,而实际上它是一系列点击的表示。好的,我明白了,那么我如何保存我需要的三个特殊值呢?你想获得“\u id”、“postId”和“visitCount”。问题是,有