簡體   English   中英

從數組lodash中刪除項目

[英]Remove item from array lodash

我有兩個數組,我想從數組1中刪除數組2中存在的條目

當然,我可以循環並創建新的數組,但是我的問題是lodash是否有一些實用程序可以幫助……

var array1 = [“user1”,”user2", “user3", “user4”];


var array2 = [“user1”, “user3"];

我想要刪除后的array1

var array1 =[”user2", “user4”];

我看到lodash有這個功能,但是還有更好的方法嗎?

var evens = _.remove(array, function(n) {
  return n % 2 == 0;
});

使用lodash可以使用_.difference(array, [values])其中array是要檢查的數組,而[values]是要排除的值。

https://lodash.com/docs/4.17.4#difference上查看文檔

var array1 = ['user1', 'user2', 'user3', 'user4'];
var array2 = ['user2', 'user4'];

array1 = _.difference(array1, array2); //['user1','user3'];

如果您正在尋找普通的JS解決方案,則可以合並兩個數組並過濾出重復項:

 var array1 = ['user1', 'user2', 'user3', 'user4']; var array2 = ['user1', 'user3']; array1 = [...array1, ...array2].filter((e, i, self) => self.indexOf(e) === self.lastIndexOf(e)); console.log(array1); 

如果您不能使用ES6 spread operator (...) ,請使用array.prototype.concat

 var array1 = ['user1', 'user2', 'user3', 'user4']; var array2 = ['user1', 'user3']; array1 = array1.concat(array2).filter((e, i, self) => self.indexOf(e) === self.lastIndexOf(e)); console.log(array1); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM