繁体   English   中英

从其他数组jQuery中删除多个数组

[英]Remove multiple array from other array jquery

我有2这样的数组

arr = ["9138172", "9138214", "9138238"]
array = ["9138172", "9138238"]

如何从arr删除array中的值? 我想获得

arr = ["9138214"]

也许我可以使用splice()吗?

您可以使用Array.forEach()循环到项目数组,然后检查array数组中是否存在每个项目。 如果是这样,请使用splice() 使用简单的函数和indexOf()因为它将在旧的浏览器和IE中都可以使用。

 var arr = ["9138172", "9138214", "9138238"]; var array = ["9138172", "91382142"]; var i = arr.length; while (i--) { if (array.indexOf(arr[i]) !== -1) { arr.splice(i, 1); } } console.log(arr); 

您可以使用.filter()

这是一个例子:

 var arr = ["9138172", "9138214", "9138238"]; var array = ["9138172", "9138238"]; arr = arr.filter(e => !array.includes(e)); console.log(arr) 

上面的代码只是过滤arr阵列和只保留不存在中的元件array 我使用的.includes()函数可在这些数组上使用,因为它们包含字符串,如果要处理对象,则需要找到其他方法来检查array包含元素。

如果您想要破破烂烂,可以通过差值函数轻松实现:

https://lodash.com/docs/4.17.10#difference

import {difference} from 'lodash';


arr = ["9138172", "9138214", "9138238"]
array = ["9138172", "9138238"]

console.log(difference(arr, array));

暂无
暂无

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

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