You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:15:32