我想在javascript中使用for循环获得两个数组的合并数据 var stu_name=['Jhon','Alice','Mik']; var stu_分数=[300200400]; 对于(var i=0;i

我想在javascript中使用for循环获得两个数组的合并数据 var stu_name=['Jhon','Alice','Mik']; var stu_分数=[300200400]; 对于(var i=0;i,javascript,arrays,Javascript,Arrays,我想得到这样的结果 “Jhon的分数是300” “爱丽丝的分数是200” “迈克的分数是400” 但我得到的不是这个结果 Jhon的得分为300分 Jhon的分数是200 Jhon的得分为400分 Alice的分数是300 Alice的分数是200 Alice的分数是400 Mik得分为300分 Mik得分为200分 Mik的分数为400您需要使用相同的索引来获得不同数组的相同值 var stu_name=['Jhon','Alice','Mik']; var stu_分数=[30020040

我想得到这样的结果

“Jhon的分数是300” “爱丽丝的分数是200” “迈克的分数是400”

但我得到的不是这个结果

Jhon的得分为300分
Jhon的分数是200
Jhon的得分为400分
Alice的分数是300
Alice的分数是200
Alice的分数是400
Mik得分为300分
Mik得分为200分

Mik的分数为400

您需要使用相同的索引来获得不同数组的相同值

var stu_name=['Jhon','Alice','Mik'];
var stu_分数=[300200400];
对于(var i=0;i}
您可以为循环使用一个
,同时确保两个数组的长度相同:

var stu_name=['Jhon','Alice','Mik'];
var stu_分数=[300200400];
if(stu_names.length==stu score.length){
for(设i=0;i
const stu_name=['Jhon','Alice','Mik'];
const stu_分数=[300200400];
函数zip(arr1、arr2){
返回arr1.map((pr,index)=>[pr,arr2[index]]);
}
对于(让zip的[stu_姓名,stu评分](stu_姓名,stu评分)){
log(`Score of${stu_name}是${stu_Score}`);

}
您迭代2个循环。但它基本上只是您需要的1 for循环

使用
映射的另一种方法是:

var stu_name=['Jhon','Alice','Mik'];
var stu_分数=[300200400];
让result=stu-names.map((s,i)=>(`s}${stu-score[i]}');

console.log(result)
您只能使用一个循环

但最好先检查两个数组的长度是否相同

var stu_name=['Jhon','Alice','Mik'];
var stu_分数=[300200400];
if(stu-names.length!==stu-score.length){
抛出新错误(“名称数组的长度应与分数数组的长度相同”)
}
对于(var i=0;i}
您正在嵌套列表

只要两个数组的长度相同,就使用一个循环

var stu_names = ['Jhon','Alice','Mik'];
var stu_score = [300,200,400];

for (var i = 0; i < stu_names.length; i++) {
   for(var j = 0; j < stu_score.length; j++) {
       console.log(`Score of ${stu_names[i]} is ${stu_scrore[j]}`);
    }
}
if(stu-names.length!==stu-scrore.length)返回;
对于(var i=0;i
如果使用这样的嵌套循环,则意味着第一个数组中的所有对象都将与第二个数组中的所有对象交互。您可以过滤不需要的循环,也可以将其转换为单个循环

if(stu_names.length !== stu_scrore.length) return;

for (var i = 0; i< stu_names.length ; i++){
    console.log(`Score of ${stu_names[i]} is ${stu_scrore[i]}`);
}
var stu_name=['Jhon','Alice','Mik'];
var stu_分数=[300200400];
对于(var i=0;i
op没有指定哪种循环,
用于of
用于in
用于(exp;exp;exp)
var stu_names = ['Jhon','Alice','Mik'];
var stu_score = [300,200,400];

for (var i = 0; i< stu_names.length ; i++)
 console.log(`Score of ${stu_names[i]} is ${stu_scrore[i]}`);