Javascript 在对象数组中添加数字 var number=[{grades:[100100]}]; var结果=0; 对于(var i=0;i
您遇到的问题是Javascript 在对象数组中添加数字 var number=[{grades:[100100]}]; var结果=0; 对于(var i=0;i,javascript,arrays,object,Javascript,Arrays,Object,您遇到的问题是数字。长度仅为1。您需要 var numbers = [{grades:[100,100,100]}]; var result = 0; for (var i=0;i<numbers.length;i++){ for (var p in numbers.grades[i]); result+=p+":"+numbers[i][p]; //console.log(p+":"+numbers[i][p]) console.log(result)
数字。长度仅为1
。您需要
var numbers = [{grades:[100,100,100]}];
var result = 0;
for (var i=0;i<numbers.length;i++){
for (var p in numbers.grades[i]);
result+=p+":"+numbers[i][p];
//console.log(p+":"+numbers[i][p])
console.log(result);
}
这应该是你成绩的总和
numbers[0].grades.length; // 3
注意.reduce
要求ECMAScript>=5
并且在IE中不起作用。您遇到的问题是数字。长度仅为1
。您想要
var numbers = [{grades:[100,100,100]}];
var result = 0;
for (var i=0;i<numbers.length;i++){
for (var p in numbers.grades[i]);
result+=p+":"+numbers[i][p];
//console.log(p+":"+numbers[i][p])
console.log(result);
}
这应该是你成绩的总和
numbers[0].grades.length; // 3
注意。reduce
要求ECMAScript>=5
并且在IE中无法工作,或者您可以尝试:
var sum = numbers[0].grades.reduce(function(a, b) { return a + b; }, 0);
sum; // 300
for(var j=0;j或您可以尝试:
var sum = numbers[0].grades.reduce(function(a, b) { return a + b; }, 0);
sum; // 300
for(var j=0;j要循环的列表是:
for(var j=0; j<numbers.length;j++)
{
for (var i=0, sum=0; i<numbers[j].grades.length; i++) {
sum += numbers[j].grades[i];
}
}
console.log(sum);
然后,在循环内部:
var list = numbers[0].grades;
就这样:)
如何浏览javascript数组:
result += list[i];
如何浏览javascript对象:
var a = ['I', 'need', 'the', 'basics'];
console.log(a[0]); // "I"
console.log(a[3]); // "basics"
console.log(a[a.length - 1]); // "basics"
总而言之:
var o = { a: 'I', b: 'need', c: 'the', d: 'basics' };
console.log(o.a); // "I"
console.log(o.d); // "basics"
console.log(o['d']); // "basics"
要将所有等级相加:
var mixed = [{ a: 'foo' }, { b: 'bar' }, { c: ['baz'] }];
console.log(mixed[0].a); // "foo"
console.log(mixed[1].b); // "bar"
console.log(mixed[2].c[0]); // "baz"
var等级,i,j;
var总和=0;
变量列表=[
{成绩:[1,2,3]},
{成绩:[4、5、6]}
];
对于(i=0;i
要循环浏览的列表是:
for(var j=0; j<numbers.length;j++)
{
for (var i=0, sum=0; i<numbers[j].grades.length; i++) {
sum += numbers[j].grades[i];
}
}
console.log(sum);
然后,在循环内部:
var list = numbers[0].grades;
就这样:)
如何浏览javascript数组:
result += list[i];
如何浏览javascript对象:
var a = ['I', 'need', 'the', 'basics'];
console.log(a[0]); // "I"
console.log(a[3]); // "basics"
console.log(a[a.length - 1]); // "basics"
总而言之:
var o = { a: 'I', b: 'need', c: 'the', d: 'basics' };
console.log(o.a); // "I"
console.log(o.d); // "basics"
console.log(o['d']); // "basics"
要将所有等级相加:
var mixed = [{ a: 'foo' }, { b: 'bar' }, { c: ['baz'] }];
console.log(mixed[0].a); // "foo"
console.log(mixed[1].b); // "bar"
console.log(mixed[2].c[0]); // "baz"
var等级,i,j;
var总和=0;
变量列表=[
{成绩:[1,2,3]},
{成绩:[4、5、6]}
];
对于(i=0;i
更实用的/javascript方法是使用:
更实用的/javascript方法是使用:
你差点就成功了
var sum = numbers[0].grades.reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
});
console.log(sum);
请记住,您需要循环遍历数字数组,而不是给它一个默认值“0”//数字[0]等级等
var sum = numbers[0].grades.reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
});
console.log(sum);
请记住,您需要循环遍历数字数组,而不是给它一个默认值“0”//数字[0]等级等很好的解决方案!在这种情况下,可以安全地假设数字[0],但我们应该将reduce封装在numbers.forEach函数中,以支持任何未来的开发。很好的解决方案!在这种情况下,假设数字[0]是安全的,但我们应该将reduce封装在一个数字中。forEach函数可以启用任何未来的开发。@user3079589太好了:D但您应该通过投票或接受您最喜欢的答案来表达您的热情:。继续享受:D@user3079589很好:D但是你应该通过投票或者接受你最喜欢的答案来表达你的热情。继续享受:D