编写一个以两个数组作为参数的函数。第一个数组将是人名数组,第二个数组将是字母表

问题描述 投票:0回答:1

编写一个以两个数组作为参数的函数。第一个数组将是人名数组,第二个数组将是字母表。在 for 循环中使用 for 循环,创建并返回如下所示的数组:

function forception(people, alphabet){
 // your code here
}

var people = ["Jon", "Jacob", "Jingle", "Heimer", "Schmidt"];
var alphabet = "abcdefghijklmnopqrstuvwxyz";

// 预期输出: // [“乔恩:”,“A”,“B”,“C”,“D”,“E”,“F”,“G”,“H”,“I”,“J”,“K ”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、 “X”、“Y”、“Z”、“雅各布:”、“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“ I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U” 、“V”、“W”、“X”、“Y”、“Z”、“叮当声:”、“A”、“B”、“C”、“D”、“E”、“F”、 “G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S ”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”、“海默:”、“A”、“B”、“C”、“D” 、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“ Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”、“施密特:”、“A”、“B ”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、 “O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”] // ```

var people = ["Jon", "Jacob", "Jingle", "Heimer", "Schmidt"];
var alphabet = "abcdefghijklmnopqrstuvwxyz";
const finalArray = [];
function forception(people, alphabet) {
  const alphabetArray = alphabet.toUpperCase().split("");

  for (const name of people) {
    for (let i = 0; i < people.length; i++) {
      finalArray.push(name + alphabetArray);
    }
  }
  console.log(finalArray);
}

forception(people, alphabet);

但是这个输出给了我: // (25) ['乔恩A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V ,W,X,Y,Z','乔纳,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T ,U,V,W,X,Y,Z','乔纳,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R ,S,T,U,V,W,X,Y,Z','乔纳,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P ,Q,R,S,T,U,V,W,X,Y,Z','乔纳,B,C,D,E,F,G,H,I,J,K,L,M,N ,O,P,Q,R,S,T,U,V,W,X,Y,Z','雅各布A,B,C,D,E,F,G,H,I,J,K,L ,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','雅各布A,B,C,D,E,F,G,H,I,J ,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','雅各布A,B,C,D,E,F,G,H ,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','雅各布A,B,C,D,E,F ,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','雅各布A,B,C,D ,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z', 'JingleA,B ,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z', '叮当A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y ,Z', '叮当A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W ,X,Y,Z','叮当A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U ,V,W,X,Y,Z','叮当A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S ,T,U,V,W,X,Y,Z','HeimerA,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q ,R,S,T,U,V,W,X,Y,Z','HeimerA,B,C,D,E,F,G,H,I,J,K,L,M,N,O ,P,Q,R,S,T,U,V,W,X,Y,Z','HeimerA,B,C,D,E,F,G,H,I,J,K,L,M ,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','HeimerA,B,C,D,E,F,G,H,I,J,K ,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','HeimerA,B,C,D,E,F,G,H,I ,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','施密特A,B,C,D,E,F,G ,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','施密特A,B,C,D,E ,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','施密特A,B,C ,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z','施密特A ,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z ', '施密特A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X ,Y,Z']

loops nested-loops
1个回答
0
投票

这个答案的关键点是下面给定解决方案的倒数第二行:-

var result = forception(people, alphabet).join(', ');

这个 Join 函数获取数组输出并将其所有元素连接到单个字符串中,使用逗号作为分隔符。完整代码如下

function forception(people, alphabet) {
    var output = [];
    for (var i = 0; i < people.length; i++) {
        output.push(`"${people[i]}:"`);
        for (var j = 0; j < alphabet.length; j++) {
            output.push(`"${alphabet[j].toUpperCase()}"`);
        }
    }
    return output;
}

var people = ["Jon", "Jacob", "Jingle", "Heimer", "Schmidt"];
var alphabet = "abcdefghijklmnopqrstuvwxyz";

var result = forception(people, alphabet).join(', ');
console.log("[" + result + "]");

© www.soinside.com 2019 - 2024. All rights reserved.