Пересборка массива

Mad Dogg

Новичок
В общем есть у меня примерно вот такой массив
Код:
[1,2,3,4,5,6,7,8,9,10]
и есть второй массив, в котором имеются значения, пересекающиеся со значениями в предыдущем массиве
Код:
[1=>3,2=>4,3=>5]
и вот каким-то образом мне надо получить вот такой массив
Код:
[1,3,4,5,2,6,7,8,9,10]
Вот все никак не придумаю, как это лучше сделать.
P.S. на самом деле мне надо так поменять местами строки в таблице бд, но тут не суть.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Поменять местами строки в БД? Скажи, пожалуйста, какую задачу ты решаешь?
 

AnrDaemon

Продвинутый новичок
Тебе надо что-то свсем другое. Но в силу отсутствия базового образования ты не в состоянии грамотно сформулировать задачу.
Попробуй начать ещё раз, с начала, и описать задачу без попыток её решить.
 

Mad Dogg

Новичок
Поменять местами строки в БД? Скажи, пожалуйста, какую задачу ты решаешь?
групповая смена веса строк. банально, на странице список, у каждой записи есть вес, вес - число. Ну вот. в хвосте меняю вес на 0 и 1 или 0 и 0 и мне надо аккуратно их поднять вверх, остальных, соответственно - подвинуть.
 

Mad Dogg

Новичок
Тебе надо что-то свсем другое. Но в силу отсутствия базового образования ты не в состоянии грамотно сформулировать задачу.
Попробуй начать ещё раз, с начала, и описать задачу без попыток её решить.
и я сформулировал то, что я хотел сформулировать. если нет полезных советов или умных мыслей в голове - не надо отвечать
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Mad Dogg, ты драг-н-дропом что ли порядок меняешь? В любом случае тебе не надо менять местами строки, тебе надо ввести в таблицу поле с сортировкой
 

Mad Dogg

Новичок
Mad Dogg, ты драг-н-дропом что ли порядок меняешь? В любом случае тебе не надо менять местами строки, тебе надо ввести в таблицу поле с сортировкой
не не не. все просто. тупо инпуты типа number. Я не хочу иметь пересекающиеся по весу строки, потому и задался подобным вопросом. И при этом хочется как то минимизировать нагрузку не выгребая вообще все записи. Но, что то мне ничего умного в голову не идет, кроме как вытянуть записи, начиная с минимального веса пришедшего массива id=>вес
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Я не совсем понял первый пост, где ты описывал 1=>3 и т.д. У тебя два набора данных, теперь тебе надо сделать из них один?
 

Mad Dogg

Новичок
Я не совсем понял первый пост, где ты описывал 1=>3 и т.д. У тебя два набора данных, теперь тебе надо сделать из них один?
мне имея 2 первых набора собрать один - 3й.
т.е. был нумерованный отсортированный по ключам массив от 1 до 10
пришел другой. там 3 значения с ключами от 1 до 3 и значениями из первого массива, но уже не на тех же местах, что и ключи
как я и писал в коде в первом сообщении.
В итоге мне нужен массив 3, из того же первого сообщения
 

AnrDaemon

Продвинутый новичок
Ты обратил внимание, что тебя никто не понимает?
Это потому, что ты не можешь нормально описать, что у тебя на самом деле есть.
Читая твой первый пост, непонятно, что у тебя за массивы, и каким таким чудесным образом из двух получается третий.
Если ты сам не знаешь, каким образом он получается, тебе никто не поможет. Ибо гадать можно до бесконечности.
 

Mad Dogg

Новичок
Ты обратил внимание, что тебя никто не понимает?
Это потому, что ты не можешь нормально описать, что у тебя на самом деле есть.
Читая твой первый пост, непонятно, что у тебя за массивы, и каким таким чудесным образом из двух получается третий.
Если ты сам не знаешь, каким образом он получается, тебе никто не поможет. Ибо гадать можно до бесконечности.
никаким он не получается, в том то и дело, что мне надо, что бы вот так получилось. получалось, я бы не спрашивал. Учитесь нормально обращаться к другим, а не как гопник с подворотни
 

Mad Dogg

Новичок
если что, я тоже не понял алгоритма
да, чет я загнался.
Все таки надо было писать просто о том, что я делаю, чем об абстракциях )
В общем такая ситуация.
Нарисовал на странице некий список, список выводится из базы данных и имеет поля id,name,weight
На странице weight показывается через инпут типа number, соответственно я могу в этих инпутах задавать новые значения веса.
И есть кнопка, она просто отсылает аяксом на бекенд пары id=>weight в виде массива, и только те, которые я изменил.
Соответственно на бекенд прилетает что то вроде [15=>9, 16=>9]. В базе с весом 9 уже лежит запись. соответственно эта запись должна стать по весу 11й, 15я - 9й, а 16я - 10й
Как то так.
 

Фанат

oncle terrible
Команда форума
если это вес, то тупо делаешь два апдейта, для 15 и 16 ид. для веса уникальность ни разу не актуальна. пусть будет хоть три записи с одинаковым
если это РАНГ, а не вес, то вместо ручных инпутов сделай стрелочки.
 

AnrDaemon

Продвинутый новичок
да, чет я загнался.
Нарисовал на странице некий список, список выводится из базы данных и имеет поля id,name,weight
На странице weight показывается через инпут типа number, соответственно я могу в этих инпутах задавать новые значения веса.
И есть кнопка, она просто отсылает аяксом на бекенд пары id=>weight в виде массива, и только те, которые я изменил.
Соответственно на бекенд прилетает что то вроде [15=>9, 16=>9]. В базе с весом 9 уже лежит запись. соответственно эта запись должна стать по весу 11й, 15я - 9й, а 16я - 10й
Как то так.
Если это ВЕС, то нет никакой проблемы в том, что у двух записей одинаковый вес. Они в любом случае будут сортироваться по какому-то вторичному ключу.
Как я и говорил, не надо этого хотеть.

Если же, как заметил Фанат, это не вес, а что-то другое, например, ранг, то надо начинать с твоего аякса и стрелочек. Чтобы клиент поправил порядок строк, и аякс скинул на бэкэнд новый порядок.
 

Mad Dogg

Новичок
да все бы хорошо. но вот захотелось мне сделать вес почти уникальным и всегда держать его упорядоченным. Нет. я лучше еще подумаю завтра ) а лучше представьте, что мой вес - это такой идентификатор массы и он должен быть всегда уникальным ))
 
Сверху