javascript - 用于删除与主数组匹配的数组的任何 lodash 函数

标签 javascript arrays json lodash

我有两个数组 availableselected 有一些值。我有另一个名为 finalAvailable 的数组,我希望同时从 available 数组中删除那些存在于 selected 中的数组> 阵列。示例如下所示

var available = ["A", "B", "C", "D", "E"];
var selected = ["B", "C"];

所以 finalAvailable 数组就像

var finalAvailable = ["A", "D", "E"];

我已经编写了一个代码来实现这个并且它工作正常,但问题是因为我在我的项目中使用了 Lo-dash 我的团队领导询问是否有任何功能可以使用 Lo-dash 来实现这个,我搜索了但能找到任何东西,我不知道我是否遗漏了什么。

谁能告诉我 Lodash 中是否有类似的东西

我的代码如下

var available = ["A", "B", "C", "D", "E"];
var selected = ["B", "C"];

var finalAvailable = [];

for (var i = 0; i < available.length; i++) {
    var flag = true;
    for (var j = 0; j < selected.length; j++) {
        if (available[i] == selected[j]) {
            flag = false;
        }
    }
    if (flag) {
        finalAvailable.push(available[i])
    }
}

最佳答案

试试这个

var available = ["A", "B", "C", "D", "E"];
var selected = ["B", "C"];

var finalAvailable = _.filter(available, function (el) {
  return _.indexOf(selected, el) === -1    
});

console.log(finalAvailable);

// or you can use _.difference
console.log(_.difference(available, selected));
<script src="https://rawgit.com/lodash/lodash/3.0.1/lodash.min.js"></script>
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>

关于javascript - 用于删除与主数组匹配的数组的任何 lodash 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29003057/

相关文章:

java - 如何检查数组的所有元素是否不等于某个值? (例如不为空)

python - Django:将结果从两个 mysql 表返回到 JSON

javascript - Visual Studio 2010 脚本调试器对我不起作用

javascript - 为什么 "opener.$(document).trigger(' 自定义 ')"不起作用?

c - 打印列数和行数为奇数的数组的值

c# - 在 C# 方法中返回 bool 值

javascript - d3js : Nodes don't collapse correctly in my tree diagram

c# - 使用 JSON.NET 解析 C# 中的 Json

javascript - 如何在javascript中转换数据格式

javascript - Angular:模板重新呈现数组,而其长度不变