საიტი არის დეველოპმენტის პროცესში

ისწავლეს ლოგოᲘᲡᲬᲐᲕᲚᲔ
  • მთავარი
  • სავარჯიშოები
  • ედიტორი
  • გზამკლევი
მარტივი ციკლი მასივი

ობიექტების მასივის დალაგება ზრდადობით

მოცემულია ობიექტების მასივი items. თქვენი დავალებაა მასივის ზრდადობით დალაგება, გადაცემული პარამეტრის მიხედვით.

გადაცემული პარამეტრებიდან გამომდინარე ამოცანას აუცილებლად ექნება ერთი სწორი პასუხი.

პირველი მაგალითი

პარამეტრები:

JS
items = [
  {
    name: 'Fanta',
    price: 1.9,
  },
  {
    name: 'Coca-Cola',
    price: 1.8,
  },
  {
    name: 'Sprite',
    price: 2,
  },
  {
    name: 'Pepsi',
    price: 1.6,
  },
];
key = "price"

შედეგი:

JS
[
  {
    name: 'Pepsi',
    price: 1.6,
  },

  {
    name: 'Coca-Cola',
    price: 1.8,
  },
  {
    name: 'Fanta',
    price: 1.9,
  },
  {
    name: 'Sprite',
    price: 2,
  },
]

განმარტება: ფასის მიხედვით დალაგების შედეგად ასეთ მასივს ვიღებთ.

მეორე მაგალითი

პარამეტრები:

JS
items = [
  {
    name: 'Fanta',
    price: 1.9,
  },
  {
    name: 'Coca-Cola',
    price: 1.8,
  },
  {
    name: 'Sprite',
    price: 2,
  },
  {
    name: 'Pepsi',
    price: 1.6,
  },
];
key = "name"

შედეგი:

JS
[
  {
    name: 'Coca-Cola',
    price: 1.8,
  },
  {
    name: 'Fanta',
    price: 1.9,
  },
  {
    name: 'Pepsi',
    price: 1.6,
  },
  {
    name: 'Sprite',
    price: 2,
  },
]

განმარტება: სახელის მიხედვით დალაგების შედეგად ასეთ მასივს ვიღებთ.

მესამე მაგალითი

პარამეტრები:

JS
items = [
  {
    name: 'Fanta',
    price: 1.9,
  },
  {
    name: 'Coca-Cola',
    price: 1.8,
  },
  {
    name: 'Sprite',
    price: 2,
  },
  {
    name: 'Pepsi',
    price: 1.6,
  },
];
key = "tax"

შედეგი:

JS
[
  {
    name: 'Fanta',
    price: 1.9,
  },
  {
    name: 'Coca-Cola',
    price: 1.8,
  },
  {
    name: 'Sprite',
    price: 2,
  },
  {
    name: 'Pepsi',
    price: 1.6,
  },
]

განმარტება: tax თვისება არ გვაქვს არსებულ მასივში, ამიტომაც ყოველი ელემენტი დარჩა თავის ადგილას.

ამოცანის ამოხსნა შესაძლებელია ბევრი გზით, ცადეთ ისეთი ალგორითმის მოფიქრება, რომელიც O(n²)-თან ახლოს არის.

პარამეტრები
items = [ { "name": "Fanta", "price": 1.9 }, { "name": "Coca-Cola", "price": 1.8 }, { "name": "Sprite", "price": 2 }, { "name": "Pepsi", "price": 1.6 } ]
key = "price"
მოსალოდნელი შედეგი
[ { "name": "Pepsi", "price": 1.6 }, { "name": "Coca-Cola", "price": 1.8 }, { "name": "Fanta", "price": 1.9 }, { "name": "Sprite", "price": 2 } ]