如何从二维数组中删除首元素为UUID的目标子数组
移除首元素为
UUID的子数组实现方案 方案1:生成新数组(推荐,不修改原数组)
使用Array.prototype.filter()实现,适合不需要修改原数组的场景,不会对原有数据产生副作用:
let arr = [ ['Log entry ID', '_id'], ['UUID', '_source.uuid'], ['Timestamp', '_source.@timestamp'], ['Description', '_source._desc'] ]; const filteredArr = arr.filter(subArr => subArr[0] !== 'UUID');
执行后filteredArr就是移除目标项后的结果,原数组arr保持不变。
方案2:原地修改原数组(仅删除第一个匹配项)
如果需要直接修改原数组,可先通过findIndex定位目标子数组下标,再用splice删除:
const targetIdx = arr.findIndex(subArr => subArr[0] === 'UUID'); // 确认找到匹配项后再执行删除,避免异常 if (targetIdx !== -1) { arr.splice(targetIdx, 1); }
方案3:原地修改原数组(删除所有匹配项)
如果数组中可能存在多个首元素为UUID的子数组,可通过反向遍历+splice实现全量删除,避免数组下标移位导致漏检:
for (let i = arr.length - 1; i >= 0; i--) { if (arr[i][0] === 'UUID') { arr.splice(i, 1); } }
内容的提问来源于stack exchange,提问作者Sandra Schlichting
相关产品推荐
相关产品推荐

