Функция sortBy
принимает массив объектов и ключ, по которому эти объекты нужно отсортировать.
Исходный массив не должен мутироваться, функция должна возвращать новый массив.
Если по ключу лежат значения типа number, то значения должны идти по возрастанию. Если по ключу лежат значения типа string, то значения должны идти в лексикографическом порядке. В иных случая функция должна бросить ошибку с сообщением "Invalid key value"
.
const points = [{x: 5, y: 8}, {x: 9, y: 0}, {x: 1, y: 4}, {x: -6, y: 12}]; console.log(sortBy(points, "x")); // [{x: -6, y: 12}, {x: 1, y: 4}, {x: 5, y: 8}, {x: 9, y: 0}] console.log(sortBy(points, "y")); // [{x: 9, y: 0}, {x: 1, y: 4}, {x: 5, y: 8}, {x: -6, y: 12}] const users = [ { name: "A", age: 11, location: "Qwe" }, { name: "B", age: 54, location: "Asd" }, { name: "C", age: 23, location: "Zxc" }, ]; console.log(sortBy(users, "location")); // [ // { name: "B", age: 54, location: "Asd" }, // { name: "A", age: 11, location: "Qwe" }, // { name: "C", age: 23, location: "Zxc" }, // ] console.log(sortBy(users, "age")); // [ // { name: "A", age: 11, location: "Qwe" }, // { name: "C", age: 23, location: "Zxc" }, // { name: "B", age: 54, location: "Asd" }, // ]