Sort List of Students by Name
Easy
Given a list of student maps containing name and age, sort the students alphabetically by name in ascending order.
Input
{
a!map(name: "Charlie", age: 21),
a!map(name: "Alice", age: 23),
a!map(name: "David", age: 22),
a!map(name: "Bob", age: 20)
}
Expected Output
{
{name: "Alice", age: 23},
{name: "Bob", age: 20},
{name: "Charlie", age: 21},
{name: "David", age: 22}
}
ri! Rule Inputs
ri!studentsList of Map{
a!map(name: "Charlie", age: 21),
a!map(name: "Alice", age: 23),
a!map(name: "David", age: 22),
a!map(name: "Bob", age: 20)
}Example 1 — Case 1
Input: ri!students
{
a!map(name: "Charlie", age: 21),
a!map(name: "Alice", age: 23),
a!map(name: "David", age: 22),
a!map(name: "Bob", age: 20)
}Output:
{
a!map(name: "Alice", age: 23),
a!map(name: "Bob", age: 20),
a!map(name: "Charlie", age: 21),
a!map(name: "David", age: 22)
}Example 2 — Case 2
Input: ri!students
{
a!map(name: "Jira", age: 29),
a!map(name: "Naruto", age: 32),
a!map(name: "Sasuke", age: 29),
a!map(name: "", age: 40),
a!map(name: "Itachi", age: 40)
}Output:
{
a!map(name: "", age: 40),
a!map(name: "Itachi", age: 40),
a!map(name: "Jira", age: 29),
a!map(name: "Naruto", age: 32),
a!map(name: "Sasuke", age: 29)
}Example 3 — Case 3
Input: ri!students
{
a!map(name: "Java", age: 40),
a!map(name: "Dart", age: 42),
a!map(name: "Appian", age: 49)
}Output:
{
a!map(name: "Appian", age: 49),
a!map(name: "Dart", age: 42),
a!map(name: "Java", age: 40)
}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