JavaScript提取嵌套数组首个元素并合并(禁用flat()方法)
提取嵌套数组首个元素的解决方案
针对你的需求,这里有几种无需使用flat()的实现方法:
方法1:使用map()方法(推荐)
map()方法会遍历数组的每个元素,并返回由回调函数返回值组成的新数组,刚好适合提取每个子数组的首个元素:
let arr = [ ['test1' , 'test1'], ['test2' , 'test2'], ['test3', true], ['test4' , false] ]; const result = arr.map(item => item[0]); console.log(result); // 输出: ['test1','test2','test3','test4']
方法2:使用forEach()循环
通过初始化空数组,遍历原数组时将每个子数组的首个元素推入新数组:
let arr = [ ['test1' , 'test1'], ['test2' , 'test2'], ['test3', true], ['test4' , false] ]; const result = []; arr.forEach(item => result.push(item[0])); console.log(result); // 输出: ['test1','test2','test3','test4']
方法3:使用普通for循环
如果需要兼容更旧的JavaScript环境,普通循环是最稳妥的选择:
let arr = [ ['test1' , 'test1'], ['test2' , 'test2'], ['test3', true], ['test4' , false] ]; const result = []; for (let i = 0; i < arr.length; i++) { result.push(arr[i][0]); } console.log(result); // 输出: ['test1','test2','test3','test4']
这些方法的核心逻辑都是直接访问每个子数组的索引0位置元素,完全不需要用到flat()——毕竟flat()的作用是扁平化嵌套数组,和你提取特定元素的需求不匹配。
内容的提问来源于stack exchange,提问作者sisihop96
相关产品推荐
相关产品推荐

