Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 4 / 5
Регистрация: 17.09.2015
Сообщений: 194

Как отсортировать массив?

17.02.2023, 12:20. Показов 471. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть массив с объектами.
Необходимо при нажатии кнопки вправо производить сортировку массива.

Т.е., если в массиве 4 элемента, то элемент на 4 позиции перемещать на 1 позицию, а элементы на 1, 2 и 3 позиции перемещать на 2, 3 и 4 позиции соответственно.
И при следующем нажатии кнопки должно произойти тоже самое.

Как это сделать? Поможете?

И если я САМ не могу справиться с такой задачей, то стоит ли делать вывод, что я не осилю даже уровень джуниора попросту потому, что не хватает интеллекта?


Благодарю!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2023, 12:20
Ответы с готовыми решениями:

Отсортировать массив по убыванию, затем добавить недостающий элемент и отсортировать массив по возрастанию
2) В массиве a ...a встречаются по одному разу все целые числа от 0 до n, кроме одного. За n действий найти пропущенное число с конечной...

Как отсортировать массив ?
Как отсортировать массив, чтобы у меня все слова были по алфавиту ?

Как отсортировать массив?
задание Есть массив: $arr = array( // id parent_id text array(1, 0, 'text_1'), array(4, 2, 'text_4'), ...

7
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
17.02.2023, 12:43
Замечу: я бы назвал описанное "циклическая перестановка" или "циклический сдвиг".

Добавлено через 14 минут
Сама функция может быть реализована так:
JavaScript
1
2
3
4
function rotate(arr) {
  const last = arr.pop();
  arr.unshift(last);
}
0
1 / 4 / 5
Регистрация: 17.09.2015
Сообщений: 194
17.02.2023, 13:31  [ТС]
DrType, Настолько элементарно... Я забыл про эти методы от слова совсем.

Но вопрос теперь в другом: как нужно переписать код, чтобы он работал?


В arr у у нас находится массив с данными.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function Sale({ ItemDiscount }) {
  let arr = ItemDiscount;
 
  const arrowRight = () => {
    let last = arr.pop();
    arr.unshift(last);
  };
 
  console.log(arr);
  return (
    <div className={styles.DiscountGroup}>
      <div className={styles.title}>
        <div className={styles.lookSale}>
          <h2>Скидки</h2>
          <a>Смотреть всё</a>
        </div>
        <div className={styles.switch}>
          <img className={styles.switchLeft} src="/img/arrowLeft.png" />
          <img
            onClick={arrowRight}
            className={styles.switchRight}
            src="/img/arrowRight.png"
          />
        </div>
      </div>
 
      <div className={styles.DiscountGroupBlock}>
        {arr.map((item, index) => {
          return (
            <div className={styles.DiscountList}>
              <img className={styles.imageDiscount} src={item.image} />
              <div className={styles.discriptionDiscount}>
                {item.discription}
              </div>
              <div className={styles.nameDicrtiption}>
                {item.nameDicrtiption}
              </div>
              <div className={styles.nameDiscount}>{item.name} </div>
              <div className={styles.infoDiscount}>
                <div className={styles.priceDiscount}>{item.price}</div>
                <div className={styles.basketDiscount}>{item.basket}</div>
              </div>
            </div>
          );
        })}
      </div>
    </div>
  );
}
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3823 / 1661 / 428
Регистрация: 14.03.2022
Сообщений: 4,153
17.02.2023, 14:17
Цитата Сообщение от Константин345 Посмотреть сообщение
если я САМ не могу справиться с такой задачей, то стоит ли делать вывод, что я не осилю даже уровень джуниора
Мне понравился ответ одного парня с канала Ulbi TV (не реклама). Он сказал примерно следующее...

Должность "Джуниор разработчик" - это, для начала, таки разработчик, просто начального уровня. Т.ч. если вы совсем не умеете что-то разработать - то на этом все и заканчивается. Вы просто не разработчик и про какие-то "уровни" говорить уже бесполезно.
0
1 / 4 / 5
Регистрация: 17.09.2015
Сообщений: 194
17.02.2023, 14:27  [ТС]
krvsa, я думаю в моем случае, все-таки, проблема в том, что я тупанул. Метод был перед носом, просто я забыл о его существовании.

Плюс умом понимаю, что задача элементарная.

Добавлено через 13 секунд
krvsa, вы не сможете помочь с вопросом выше? почему не работает
0
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
17.02.2023, 14:33
Что-то такое должно быть в этом вашем Реакте, если не ошибаюсь.
JavaScript
1
2
3
4
5
6
7
8
9
10
function Sale({ ItemDiscount }) {
  const [arr, setArr] = React.useState(ItemDiscount);
  
  const arrowRight = () => {
    const newArr = [...arr];
    let last = newArr.pop();
    newArr.unshift(last);
    setArr(newArr);
  };
}
0
1 / 4 / 5
Регистрация: 17.09.2015
Сообщений: 194
17.02.2023, 14:34  [ТС]
я так понимаю, что это связано с тем, что я пытаюсь обновить уже существующий массив, а это надо делать через хуки...

Добавлено через 36 секунд
DrType, огромное спасибо!
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3823 / 1661 / 428
Регистрация: 14.03.2022
Сообщений: 4,153
17.02.2023, 15:18
Цитата Сообщение от Константин345 Посмотреть сообщение
а это надо делать через хуки...
Не хуки, а через изменение стейта или пропсов. Поскольку компоненты рендарятся только если меняется их стейт или пропсы.

В противном случае ничего визуально происходить не будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.02.2023, 15:18
Помогаю со студенческими работами здесь

Как отсортировать массив
Как отсортовать слова в массиве по их количеству символов в елементе let modules=

Как отсортировать массив?
Помогите пожалуста очень срочно надо. у меня не получается(( вот прога, тока мне еще надо преобразовать массив так чтобы сначала были все...

Как отсортировать массив
Вот есть такая сортировка на плюсах void sort(Cpro *p, int N) { int i, k=1; Cpro q; while (k) { k=0; for...

Как отсортировать массив?
У меня получился массив &quot; 2 3 1 4 6 8 7 5 и ф б ш е с к т и ф б ш е с к т ...

Как отсортировать массив
Есть такой массив const newLocal = ; Хочу получить


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru