我正在尝试根据第二个列表中的值筛选对象列表。
[
{
"id":"12345",
"name":"nameOfItem",
"description":"descriptionOfItem"
},
{
"id":"34567",
"name":"nameOfItem",
"description":"descriptionOfItem"
},
{
"id":"56789",
"name":"nameOfItem",
"description":"descriptionOfItem"
}
]
["12345", "56789"]
现在我想移除列表A的项目,该项目的ID在列表B中可用。
null
null
if let allModOptions = allModifersList?.first?.options {
let excludedIDs = pObj?.excluded_ids
if excludedIDs!.count > 0 {
let allowedOptions = allModOptions
->>>> **.filter{ !excludedIDs!.contains($0.id!)}** <<<<-
.filter{c in c.deleted_at == nil}.sorted {
$0.index ?? 0 < $1.index ?? 0
}
allModsList?.first?.options = allowedOptions
}
modisList.append(contentsOf: allModsList!)
}
感谢任何帮助
您应该在主集合上使用filter,在列表集合上使用!contains
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
class Scratch {
static class Element {
int id;
String name;
String description;
public Element(int id, String name, String description) {
this.id = id;
this.name = name;
this.description = description;
}
@Override
public String toString() {
return "Element{" +
"id=" + id +
", name='" + name + '\'' +
", description='" + description + '\'' +
'}';
}
}
public static void main(String[] args) {
List<Element> elements = new ArrayList<>(Arrays.asList(
new Element(12345, "nameofitem", "asdfafd"),
new Element(34567, "nameofitem", "asdfafd"),
new Element(56789, "nameofitem", "asdfafd")
));
List<Integer> filterNot = new ArrayList<>(Arrays.asList(12345, 56789));
List<Element> result = elements.stream().filter(item -> !filterNot.contains(item.id)).collect(Collectors.toList());
result.forEach(System.out::println);
}
}
问题内容: 我有两个选择: 如果我首先选择“水果”,该如何使用jQuery?第二个选择仅向我显示水果- 香蕉,苹果,橙子。如果我在第一个选择中选择“鸟”,则第二个选择仅显示“鸟”-老鹰,鹰。等等… 我试图用这段jQuery代码来做到这一点: 不幸的是,它几乎删除了所有内容,而且我不知道如何恢复一些选择。我也阅读了一些有关克隆的内容,但是在这种情况下我不知道如何使用它。 问题答案: $(“#sele
我需要使用Sheets API阅读Google工作表。我可以获取所有行,但是由于这些行有上万行并且将继续增长,我需要找到一种方法来过滤它们而不获取所有行。 我只需要一个SQL WHERE子句,其中包含一个或多个列的相等条件。例如,在工作表中有一个phoneNumber列,它是C列。我只需要获取该列的值等于某个值的行。 我目前使用的Google Sheets V4 API为Node.js.我使用的是
我想通过列表中的第一个元素进行过滤,然后通过第二个元素进行分组。 在使用Java Stream获得平均值之前,我过滤了第一个元素,即index。这样做合适吗?
问题内容: 我对此一无所知。任何帮助对此将不胜感激! 对于经理和员工,我有两个下拉菜单。 “经理”下拉列表默认包含“经理”列表。 我想通过使用用户在Managers下拉列表中选择的Manager名称查询SQL Server数据库来用雇员名称填充雇员下拉列表。 因此,例如,如果某人在“经理”下拉列表中选择“汤姆”作为经理,则“员工”下拉列表应填充“员工”名称,其中经理=汤姆。 到目前为止,我有以下代
我有一个数据框: 我通过以下方式按德国国家标签“DE”过滤此内容: 如果我想筛选更多的国家,我必须通过以下方式手动添加它们:。然而,我想创建一个国家列表,并自动生成此声明。 大概是这样的: 我想我可以过滤df 3次,然后通过将这些片段合并回来,但是有没有更通用的函数来实现这一点?
我有一个熊猫表,格式如下[df],由“noc”和“year”索引。我如何访问“noc,年份组合”并将“total_Medales”条目保存到列表中? 例如:我想在1992年(即21.5)中搜索ARG的“total_medals”,并将其保存到新列表中。