如何在JavaScript中将两个数组合并为指定结构的二维数组?
问题解决:合并两个数组为二维数组
你当前的merge函数错误地将元素拼接成了数组格式的字符串,而非创建真正的数组元素。修改后的函数需要生成包含对应元素的子数组,而非字符串。
修改后的merge函数
const merge = function(p1,p2){ const result = []; for(let i=0;i<p1.length;i++){ result.push([p1[i], p2[i]]); } return result; }
关键说明
- 不再直接修改原
p1数组,而是新建一个空数组result存储最终结果 - 循环过程中,为每个索引位置创建一个包含
p1[i]和p2[i]的子数组,再将这个子数组推入result - 最终返回的是二维数组结构,而非包含数组格式字符串的一维数组
完整可运行代码(仅修改merge部分)
'use strict' var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false }); rl.question('', (p1) => { rl.question('', (p2) => { p1 = p1.split(", ") p2 = p2.split(", ") console.log(merge(p1,p2)) rl.close(); }) }); // DO NOT CHANGE ABOVE THIS LINE!!!! const merge = function(p1,p2){ const result = []; for(let i=0;i<p1.length;i++){ result.push([p1[i], p2[i]]); } return result; } // Write this function
测试输入1, 2, 3和100, 200, 300,输出将为[ [ '1', '100' ], [ '2', '200' ], [ '3', '300' ] ],完全符合需求。
内容的提问来源于stack exchange,提问作者Dori
相关产品推荐
相关产品推荐

