[英]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.