使用Immutabel.js / functional JS过滤一个列表的元素

时间:2016-01-13 08:43:50

标签: javascript functional-programming immutable.js

我有一个包含所有项目的数组,以及包含所选项目的其他数组。然后我想创建第三个可用数组所有,但选择中包含的元素除外。

E.g

all = [1,2,3]
selected  = [3]
available =  [1,2]

如何过滤所有并选择创建可用?

2 个答案:

答案 0 :(得分:0)

如果您已经在使用immutable.js,那么您正在寻找的操作是Set类的.subtract()方法。

[在函数式编程中,术语"过滤器"通常表示从源列表中与给定谓词匹配的那些元素返回新列表的操作]

答案 1 :(得分:-1)

这应该有效

var array1= [1, 2, 3];
    var array2= [3];
    var results = [];
    for (var i = 0; i < array1.length ; i++) {
  
    var result=false;
    for (var n = 0; n < array2.length ; n++) {
         if (array2[n] === array1[i]) {
            result=true;
          }
          
          
        }
        if(!result)
        {
        results.push(array1[i]);
        }
    }
    
    console.log(results);