簡體   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