Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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_Arrays_Javascript Objects - Fatal编程技术网

JavaScript中对象数组的循环

JavaScript中对象数组的循环,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我试图找出所有喜欢的人的总数。我得到的错误是帖子不存在。用户是一个具有posts属性的对象,posts属性是一个对象数组。我将如何访问likes属性。谢谢 var sum = 0; //initialize sum //create user object var user = { posts: [ { likes: 10 } { likes: 15

我试图找出所有喜欢的人的总数。我得到的错误是帖子不存在。用户是一个具有posts属性的对象,posts属性是一个对象数组。我将如何访问likes属性。谢谢

var sum = 0; //initialize sum
    //create user object
    var user = {
        posts: [
          {
           likes: 10
         }
          {
           likes: 15
         }

    ]
    }
    //Getting the sum of all likes. But doesn't work.
    for(i = 0; i < posts.length; i++) {
        sum += user.posts[i].likes;
    }
    return sum;
var总和=0//初始化和
//创建用户对象
变量用户={
职位:[
{
喜欢:10
}
{
喜欢:15
}
]
}
//得到所有喜欢的总和。但是不起作用。
对于(i=0;i
以下是正确的代码:

var sum = 0; //initialize sum
//create user object
var user = {
    posts: [{
            likes: 10
        },
        {
            likes: 15
        }

    ]
}
//Getting the sum of all likes. But doesn't work.
for (var i = 0; i < user.posts.length; i++) {
    sum += user.posts[i].likes;
}
console.log(sum);
var总和=0//初始化和
//创建用户对象
变量用户={
职位:[{
喜欢:10
},
{
喜欢:15
}
]
}
//得到所有喜欢的总和。但是不起作用。
对于(var i=0;i
您无法访问像这样的对象属性
posts.length
它会使您
未定义
,您需要使用
user.posts.length

for(var i=; i<user.posts.length; i++){
  sum += user.posts[i].likes;
}
return sum;
for(var i=;i可用于更简单的聚合:

var user={posts:[{likes:10},{likes:15}]}
var sum=user.posts.reduce((s,o)=>s+o.likes,0)

console.log(sum)
一些更简单的东西,而不是函数
var总和=0;
变量用户={
职位:[
{
喜欢:10
},
{
喜欢:15
}
]
}
用户[“posts”].map(ele=>sum=+ele[“likes”]);

console.log(sum);
i
?Thnks。我以错误的方式访问数组。