使用 Immutabel.js / 函数式 JS 过滤一个列表中的元素
Filter the elements of one list with an other using Immutabel.js / functional JS
我有一个包含 all 项目的数组和另一个包含 selected 项目的数组。然后我想创建第三个数组 available,它由 all 组成,但 selected 中包含的元素除外。
例如
all = [1,2,3]
selected = [3]
available = [1,2]
如何筛选所有并选择创建可用的?
如果您已经在使用 immutable.js
,您正在寻找的操作是 Set
class 的 .subtract()
方法。
[在函数式编程中,术语 "filter" 通常表示从源列表中与给定谓词匹配的元素返回新列表的操作]
这应该有效
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);
我有一个包含 all 项目的数组和另一个包含 selected 项目的数组。然后我想创建第三个数组 available,它由 all 组成,但 selected 中包含的元素除外。
例如
all = [1,2,3]
selected = [3]
available = [1,2]
如何筛选所有并选择创建可用的?
如果您已经在使用 immutable.js
,您正在寻找的操作是 Set
class 的 .subtract()
方法。
[在函数式编程中,术语 "filter" 通常表示从源列表中与给定谓词匹配的元素返回新列表的操作]
这应该有效
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);