Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 - Fatal编程技术网

Javascript 使用两个相关数组进行循环

Javascript 使用两个相关数组进行循环,javascript,arrays,Javascript,Arrays,单击按钮时,我希望列出数组中的结果,例如:John Smith 16、Jack Snow 10等 我想使用循环,但我的循环中的代码目前不正确,因为当我单击按钮时,我得到的是:[object] 有人能提供一个可能的解决方案吗 function begin() { listresults(); (); } var results1 = {name:"John Smith", score:16}; var results2 = {name:"Jack

单击按钮时,我希望列出数组中的结果,例如:John Smith 16、Jack Snow 10等

我想使用循环,但我的循环中的代码目前不正确,因为当我单击按钮时,我得到的是:[object]

有人能提供一个可能的解决方案吗

 function begin() {
      listresults();
      ();
    }
    var results1 = {name:"John Smith", score:16};
    var results2 = {name:"Jack Sow", score:10};
    var results3 = {name:"Tessa Flip", score:15};
    var results = [results1, results2, results3];

    function listresults() {
      var text = "";
      var total = 0;
      var i;
    for (i in results) {
      text += results[i] + "<br>";
    }
    document.getElementById('message').innerHTML = text;


    }
函数begin(){
listresults();
();
}
var results1={name:“John Smith”,分数:16};
var results2={name:“Jack Sow”,分数:10};
var results3={name:“Tessa Flip”,分数:15};
var results=[results1,results2,results3];
函数listresults(){
var text=“”;
var合计=0;
var i;
对于(我在结果中){
text+=结果[i]+“
”; } document.getElementById('message').innerHTML=text; }
当您在字段中附加对象而不是对象值时

这是从对象访问名称和分数的正确方法,在对象数组中循环时返回:

 function begin() {
      listresults();
      ();
    }
    var results1 = {name:"John Smith", score:16};
    var results2 = {name:"Jack Sow", score:10};
    var results3 = {name:"Tessa Flip", score:15};
    var results = [results1, results2, results3];

    function listresults() {
      var text = "";
      var total = 0;
    for (var i=0; i < results.length; i++) {
      text += results[i].name + " " + results[i].score + "<br>";
    }
    document.getElementById('message').innerHTML = text;
    }
函数begin(){
listresults();
();
}
var results1={name:“John Smith”,分数:16};
var results2={name:“Jack Sow”,分数:10};
var results3={name:“Tessa Flip”,分数:15};
var results=[results1,results2,results3];
函数listresults(){
var text=“”;
var合计=0;
对于(var i=0;i”;
}
document.getElementById('message').innerHTML=text;
}

这里有一个建议您使用
Array
方法(map,join)而不是纯循环

函数begin(){
listresults();
}
var results1={name:“John Smith”,分数:16};
var results2={name:“Jack Sow”,分数:10};
var results3={name:“Tessa Flip”,分数:15};
var results=[results1,results2,results3];
函数listresults(){
document.getElementById('message')。innerHTML=
结果.地图(功能(项目){
返回item.name+“”+item.score;
}).加入(“
”); document.getElementById('total')。innerHTML= 结果.地图(功能(项目){ 返回item.score; }).reduce(函数(和,分数){ 返回和+分数; }, 0); }
开始


总计:0
您正在数组中推送对象
results1、results2、
'results'
。 因此,在迭代数组时,您应该访问对象属性,如下所示:

function listresults() {
      var text = "";
      var total = 0;
      var i;
    for (i in results) {
      text += results[i]['name'] + ' ' + results[i]['score'] + "<br>";
    }
函数列表结果(){
var text=“”;
var合计=0;
var i;
对于(我在结果中){
text+=结果[i]['name']+''+结果[i]['score']+“
”; }
我首先检查两个数组的长度是否相同。然后使用for循环进行迭代:

final int timeLength = TIME.length;
if (timeLength != stat.size()) {
    //something may not be right
}
for (int i = 0; i < timeLength; i++) {
    System.out.println(time[i]+" "+stat.get(i));
}
final int timeLength=TIME.length;
如果(时间长度!=统计大小()){
//有些事情可能不对
}
for(int i=0;i
使用和

var results1={name:“John Smith”,分数:16};
var results2={name:“Jack Sow”,分数:10};
var results3={name:“Tessa Flip”,分数:15};
var results=[results1,results2,results3];
var res=results.map(item=>{return item.name+“”+item.score});

console.log(res.join(“,”);
这是因为您是在附加对象而不是它们的值。请尝试:
text+=results[i]。name+“”+results[i]。score+“
”;
a结束对象尝试此text+=results[i]。score+“
”;检查我的单行答案。我希望它能按照您的预期工作谢谢!还有一个问题,我如何才能合计所有分数?例如,在本例中,41将是总数。在for循环中,只需执行total+=results[I].score;然后在for循环控制台中记录或使用it@J.Doe在上面的例子中增加了总分