Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 在对象数组中添加数字 var number=[{grades:[100100]}]; var结果=0; 对于(var i=0;i_Javascript_Arrays_Object - Fatal编程技术网

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