JavaScript中对象数组的循环
我试图找出所有喜欢的人的总数。我得到的错误是帖子不存在。用户是一个具有posts属性的对象,posts属性是一个对象数组。我将如何访问likes属性。谢谢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
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。我以错误的方式访问数组。