Convert a nested array of products into an object grouped by category and sorted by price within each category.
Input:
const products = [
['Electronics', 'Laptop', 999],
['Clothing', 'Shirt', 29],
['Electronics', 'Mouse', 25],
['Clothing', 'Pants', 49],
['Electronics', 'Keyboard', 75],
['Clothing', 'Jacket', 89]
];
Expected Output:
{
Electronics: [
{ name: 'Mouse', price: 25 },
{ name: 'Keyboard', price: 75 },
{ name: 'Laptop', price: 999 }
],
Clothing: [
{ name: 'Shirt', price: 29 },
{ name: 'Pants', price: 49 },
{ name: 'Jacket', price: 89 }
]
}
Filter users who have completed at least 2 courses with a rating above 4.0.
Input:
const users = [
{
id: 1,
name: 'Alice',
courses: [
{ title: 'React', rating: 4.5, completed: true },
{ title: 'Node', rating: 3.8, completed: true },
{ title: 'CSS', rating: 4.2, completed: true }
]
},
{
id: 2,
name: 'Bob',
courses: [
{ title: 'React', rating: 4.7, completed: true },
{ title: 'Vue', rating: 4.3, completed: false }
]
},
{
id: 3,
name: 'Charlie',
courses: [
{ title: 'Angular', rating: 4.6, completed: true },
{ title: 'React', rating: 4.8, completed: true },
{ title: 'Node', rating: 4.1, completed: true }
]
}
];
Expected Output:
[
{ id: 1, name: 'Alice' },
{ id: 3, name: 'Charlie' }
]
Transform flat employee data into a hierarchical department structure with salary statistics.
Input:
const employees = [
{ id: 1, name: 'John', dept: 'Engineering', salary: 80000 },
{ id: 2, name: 'Jane', dept: 'Engineering', salary: 95000 },
{ id: 3, name: 'Bob', dept: 'Marketing', salary: 65000 },
{ id: 4, name: 'Alice', dept: 'Engineering', salary: 88000 },
{ id: 5, name: 'Charlie', dept: 'Marketing', salary: 72000 },
{ id: 6, name: 'Diana', dept: 'HR', salary: 70000 }
];
Expected Output: