Ushbu ochiq manbali loyihani butun dunyo bo'ylab odamlar uchun taqdim etmoqchimiz.

Ushbu qo'llanmaning mazmuni sizning tilingizga tarjima qilishga yordam bering!

darsga qaytish

Maydonlar bo'yicha saralash

Bizda tartiblash uchun bir massiv obyektlar mavjud:

let users = [
  { name: "John", age: 20, surname: "Johnson" },
  { name: "Pete", age: 18, surname: "Peterson" },
  { name: "Ann", age: 19, surname: "Hathaway" },
];

Buning bajarish uchun odatiy usul:

// nom bo'yicha (Ann, John, Pete)
users.sort((a, b) => (a.name > b.name ? 1 : -1));

// yosh bo'yicha (Pete, Ann, John)
users.sort((a, b) => (a.age > b.age ? 1 : -1));

Buni biz bundan ham qisqaroq qila olamizmi?

users.sort(byField("name"));
users.sort(byField("age"));

Shunday qilib, funktsiyani yozish o’rniga byField(fieldName) ni qo’ying.

Buning uchun ishlatilishi mumkin bo’lgan byField funktsiyasini yozing.

Sinovlar bilan sandbox-ni oching.

function byField(fieldName) {
  return (a, b) => (a[fieldName] > b[fieldName] ? 1 : -1);
}

Yechimni sandbox-dagi sinovlar bilan oching.