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