Объединить 2 массива по определенным индексам в Javascript ⇐ Javascript
Объединить 2 массива по определенным индексам в Javascript
У меня есть массив target, скажем: [A, C, E, F, H]. У меня есть еще один массив toMerge, который нужно объединить с target, скажем: [B, D, G, I]. У меня также есть целочисленный массив, который сообщает индексам целевого массива, где элементы toMerge будут окончательно объединены, скажем: [1, 3, 6, 8]. Мне нужна функция, которая объединит массив toMerge с target на месте, по индексам, указанным массивом indices, чтобы цель в итоге выглядит так
[A(0), B(1), C(2), D(3), E(4), F(5), G(6), H(7), I(8 )] Я попробовал использовать встроенные функции объединения массивов для перебора массива индексов и сращивания (добавления) каждого по каждому индексу. Что-то в этом роде:
for (let i = 0; i < index.length; i++) { target.splice(indices, 0, toMerge); } Я ищу любое решение, которое позволит сделать это более эффективно и элегантно.
Все становится сложнее, если массив index не отсортирован или, что еще хуже, отсортирован обратно! Например,
toMerge: [I, G, D, B] индексы: [8, 6, 3, 1] после применения описанного выше алгоритма target будет выглядеть следующим образом:
цель: [A, B, C, E, D, F, H, I, G] Одним из решений этой проблемы является сортировка массива indices в неубывающем порядке вместе с массивом toMerge, гарантируя соблюдение последовательности, что еще больше усложняет ситуацию.
>
У меня есть массив target, скажем: [A, C, E, F, H]. У меня есть еще один массив toMerge, который нужно объединить с target, скажем: [B, D, G, I]. У меня также есть целочисленный массив, который сообщает индексам целевого массива, где элементы toMerge будут окончательно объединены, скажем: [1, 3, 6, 8]. Мне нужна функция, которая объединит массив toMerge с target на месте, по индексам, указанным массивом indices, чтобы цель в итоге выглядит так
[A(0), B(1), C(2), D(3), E(4), F(5), G(6), H(7), I(8 )] Я попробовал использовать встроенные функции объединения массивов для перебора массива индексов и сращивания (добавления) каждого по каждому индексу. Что-то в этом роде:
for (let i = 0; i < index.length; i++) { target.splice(indices, 0, toMerge); } Я ищу любое решение, которое позволит сделать это более эффективно и элегантно.
Все становится сложнее, если массив index не отсортирован или, что еще хуже, отсортирован обратно! Например,
toMerge: [I, G, D, B] индексы: [8, 6, 3, 1] после применения описанного выше алгоритма target будет выглядеть следующим образом:
цель: [A, B, C, E, D, F, H, I, G] Одним из решений этой проблемы является сортировка массива indices в неубывающем порядке вместе с массивом toMerge, гарантируя соблюдение последовательности, что еще больше усложняет ситуацию.
>
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Установка многомерного массива numpy по определенным индексам, равным 1D-массиву
Anonymous » » в форуме Python - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Вычисляйте массив numpy только по определенным индексам, заданным маской
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Объединить данные строк из нескольких массивов по индексам первого уровня
Anonymous » » в форуме Php - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-