Чӣ гуна тартиби унсурҳоро дар массив иваз кардан мумкин аст?
sobes.tech AI
Ҷавоб аз AI
Барои тағир додани тартиби элементҳо дар массив, шумо метавонед чанд роҳро истифода баред:
-
reverse(): Массивро дар ҷой тағир медиҳад, тартиби элементҳоро баръакс мекунад.const arr = [1, 2, 3, 4, 5]; arr.reverse(); // arr акнун [5, 4, 3, 2, 1] -
sort(): Массивро дар ҷой сорт мекунад. Ба таври пешфарз ҳамчун сатрҳо сорт мекунад. Барои сорт кардани рақамҳо, бояд функсияи муқоиса пешниҳод кунед.const arr = [3, 1, 4, 1, 5, 9, 2, 6]; arr.sort(); // Сортинг ба таври пешфарз (мисли сатрҳо) // arr акнун [1, 1, 2, 3, 4, 5, 6, 9] const arrNum = [3, 1, 4, 1, 5, 9, 2, 6]; arrNum.sort((a, b) => a - b); // Сортинг ба рӯйхати боло // arrNum акнун [1, 1, 2, 3, 4, 5, 6, 9] arrNum.sort((a, b) => b - a); // Сортинг ба рӯйхати поён // arrNum акнун [9, 6, 5, 4, 3, 2, 1, 1] -
Эҷоди массиви нав бо тартиби тағирёфта: Агар хоҳед, ки тағир додани массиви аслӣро пешгирӣ кунед, метавонед истифодаи омезиши методҳоро.
-
Копия бо
reverse():const arr = [1, 2, 3, 4, 5]; const reversedArr = [...arr].reverse(); // Эҷоди нусха ва баргардондан // reversedArr акнун [5, 4, 3, 2, 1] // arr боқӣ мемонад [1, 2, 3, 4, 5] -
Копия бо
sort():const arr = [3, 1, 4, 1, 5]; const sortedArr = [...arr].sort((a, b) => a - b); // Эҷоди нусха ва сортинг // sortedArr акнун [1, 1, 3, 4, 5] // arr боқӣ мемонад [3, 1, 4, 1, 5] -
Тартиби тасодуфӣ (ҳолати мураккаб): Агар тартиби махсус лозим бошад, ки натиҷаи сортинг ё баргардондан нест, шояд лозим ояд, ки элементҳоро дастӣ тағир диҳед ё алгоритмҳои мураккабтарро истифода баред. Масалан, shuffle:
const arr = [1, 2, 3, 4, 5]; const shuffledArr = [...arr]; for (let i = shuffledArr.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]]; // Алмашидани элементҳо (структуризатсия) } // shuffledArr акнун тасодуфӣ омехта шудааст // arr боқӣ мемонад [1, 2, 3, 4, 5]
-
Интихоби усул вобаста ба натиҷаи лозим (тартиби баръакс, сортинг, тартиби тасодуфӣ) ва он, ки оё массиви аслӣ бояд тағир ёбад ё не, мебошад.