Javascript 使用两个相关数组进行循环
单击按钮时,我希望列出数组中的结果,例如:John Smith 16、Jack Snow 10等 我想使用循环,但我的循环中的代码目前不正确,因为当我单击按钮时,我得到的是:[object] 有人能提供一个可能的解决方案吗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
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在上面的例子中增加了总分