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

如何从二维数组(2D array)中移除包含指定元素的子数组?

移除二维数组中包含指定元素的子数组

给定二维数组[["1", "fish"], ["2", "dog"], ["3", "cat"]],我们需要移除所有包含"fish"的子数组,最终得到结果[["2", "dog"], ["3", "cat"]]。以下是几种常见编程语言的实现方式:

Python 实现

方式一:创建新数组(推荐)

用列表推导式快速过滤符合条件的子数组,这种方式不会修改原数组,代码简洁高效:

original_arr = [["1", "fish"], ["2", "dog"], ["3", "cat"]]
filtered_arr = [sub_arr for sub_arr in original_arr if "fish" not in sub_arr]
print(filtered_arr)  # 输出: [["2", "dog"], ["3", "cat"]]

方式二:修改原数组

如果需要直接修改原数组,可以倒序遍历数组(避免删除元素后索引偏移),删除目标子数组:

original_arr = [["1", "fish"], ["2", "dog"], ["3", "cat"]]
for i in range(len(original_arr)-1, -1, -1):
    if "fish" in original_arr[i]:
        del original_arr[i]
print(original_arr)  # 输出: [["2", "dog"], ["3", "cat"]]

JavaScript 实现

方式一:创建新数组(推荐)

使用数组的filter方法过滤掉包含指定元素的子数组,同样不修改原数组:

const originalArr = [["1", "fish"], ["2", "dog"], ["3", "cat"]];
const filteredArr = originalArr.filter(subArr => !subArr.includes("fish"));
console.log(filteredArr); // 输出: [["2", "dog"], ["3", "cat"]]

方式二:修改原数组

若要直接修改原数组,可倒序遍历并使用splice方法删除目标子数组:

const originalArr = [["1", "fish"], ["2", "dog"], ["3", "cat"]];
for (let i = originalArr.length - 1; i >= 0; i--) {
    if (originalArr[i].includes("fish")) {
        originalArr.splice(i, 1);
    }
}
console.log(originalArr); // 输出: [["2", "dog"], ["3", "cat"]]

内容的提问来源于stack exchange,提问作者Mint

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:45:30