[英]Subtracts values one list from another in javascript
如何從var a = [1,2,2,2,3]
var b=[2]
中存在的var a = [1,2,2,2,3]
刪除所有值如果b變量中存在a值,則必須刪除所有出現的值
var a = [1,2,2,2,5];
var b = [2];
const result = a.filter(function(el){
return /// which condition .?
});
如何刪除b var值。 我們有很多邏輯,請簡要回答
一個簡單的解決方案是使用Array#filter ,並使用Array#indexOf檢查值是否存在:
var a = [1, 2, 2, 2, 5]; var b = [2]; var result = a.filter(function(n) { return b.indexOf(n) === -1; }); console.log(result);
但是,這需要第二個數組的冗余迭代。 更好的解決方案是使用Array#reduce從b
創建一個字典對象,並在過濾中使用它:
var a = [1, 2, 2, 2, 5]; var b = [2]; var bDict = b.reduce(function(d, n) { d[n] = true; return d; }, Object.create(null)); var result = a.filter(function(n) { return !bDict[n]; }); console.log(result);
您可能需要Set
為不需要的項目。
var a = [1, 2, 2, 2, 5], b = [2], result = a.filter((s => v => !s.has(v))(new Set(b))); console.log(result);
通過使用數組的filter()
嘗試以下操作:
var a = [1,2,2,2,5]; var b = [2]; var c = a.filter(item => !b.includes(item)) console.log(c)
使用array.filter
var first = [1, 2, 2, 2, 5]; var second = [2]; var result = first.filter(function(n) { return second.indexOf(n) === -1; }); console.log(result);
var a = [1,2,2,2,5]; var b = [2]; var result= a.filter(function(x) { return b.indexOf(x) < 0; }); console.log(result)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.