繁体   English   中英

从 javascript 中的数组中删除子数组

[英]Remove subarray from array in javascript

我知道这可能是一个愚蠢的问题,但我没有找到任何解决方案。 例如,如果我有arr1 = [[1,2,3], [1,2,2], [4,3]]并且我想删除子数组[1,2,2] Javascript 有可能吗?

结果应该是: [[1,2,3],[4,3]] 另外,如果我尝试删除[0,1,2] ,什么也不会发生,因为 arr1 没有子数组[0,1,2]

您可以使用splice删除具有完全相同元素的相同长度的 arrays :

 function removeSubArray(source, sub) { let i = source.length; while(i--) { if (source[i].length === sub.length && sub.every((n, j) => n === source[i][j])) { source.splice(i, 1); } } } const arr1 = [[1,2,3], [1,2,2], [4,3]]; const arr2 = [1,2,2]; removeSubArray(arr1, arr2); console.log(arr1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM