使用JavaScript处理嵌套数组,输出指定格式的元素配对结果
问题核心原因
- 你现有代码存在两个问题:
- 数组元素顺序写反:
[arr[1],rest]会输出["science","fish"],和你要的["fish","science"]顺序不符 map方法本身默认返回包裹所有结果的外层数组,所以会多一层包裹
- 数组元素顺序写反:
解决方案
如果你只是需要控制台打印出你要的格式,直接遍历map返回的结果逐个打印即可:
let arr= [["fish","animal","tree"],"science"]; let resultList = arr[0].map(item => [item, arr[1]]); // 逐个打印每个子数组 resultList.forEach(item => console.log(item));
运行后控制台输出:
["fish", "science"] ["animal", "science"] ["tree", "science"]
如果你需要把这三个数组作为独立变量使用,可以用解构赋值直接拆分外层数组:
let [fish, animal, tree] = arr[0].map(item => [item, arr[1]]); // 此时fish就是["fish","science"],animal就是["animal","science"],以此类推
内容的提问来源于stack exchange,提问作者user16041868
相关产品推荐
相关产品推荐

