Remove Maps with Null or Empty Names
Easy
Given a list of maps, where each map contains id (Number) and name (Text), remove all maps where the name is either null or an empty string (""). Return the remaining maps.
Example
Input:
{
a!map(id: 1, name: "John"),
a!map(id: 2, name: null),
a!map(id: 3, name: ""),
a!map(id: 4, name: "Priya")
}
Output:
{
a!map(id: 1, name: "John"),
a!map(id: 4, name: "Priya")
}
ri! Rule Inputs
ri!dataList of Map{
a!map(id: 1, name: "Ram"),
a!map(id: 2, name: null()),
a!map(id: 3, name: "Sita"),
a!map(id: 4, name: null()),
a!map(id: 5, name: "Hanuman")
}Example 1 — Case 1
Input: ri!data
{
a!map(id: 1, name: "Ram"),
a!map(id: 2, name: null()),
a!map(id: 3, name: "Sita"),
a!map(id: 4, name: null()),
a!map(id: 5, name: "Hanuman")
}Output:
{
a!map(id: 1, name: "Ram"),
a!map(id: 3, name: "Sita"),
a!map(id: 5, name: "Hanuman")
}Example 2 — Case 2
Input: ri!data
{
a!map(id:1,name:""),
a!map(id:2,name:"AppianVerse"),
a!map(id:3,name:"Sail"),
a!map(id:4,name:""),
a!map(id:7,name:"Records"),
a!map(id:9,name:"Java"),
a!map(id:11,name:"")
}Output:
{
a!map(id: 2, name: "AppianVerse"),
a!map(id: 3, name: "Sail"),
a!map(id: 7, name: "Records"),
a!map(id: 9, name: "Java")
}Example 3 — Case 3
Input: ri!data
{
a!map(id:1,name:"1232"),
a!map(id:2,name:null()),
a!map(id:3,name:"Sail"),
a!map(id:4,name:""),
a!map(id:7,name:null())
}Output:
{
a!map(id: 1, name: "1232"),
a!map(id: 3, name: "Sail")
}Appian Expression Tips
- • Use
ri!variableNamefor rule inputs - • Use
a!localVariables(local!x: …, body)for locals - • Use
a!forEach(items: …, expression: fv!item)to iterate - • Use
where()/reject(fn!isnull, list)to filter