JavaScript | Слияние двух массивов.
Тема закрыта by
Копирайтер scam
popka_slonika (04.11.2021 в 14:30)
Нее. Ты не понял.
Мне нужно перемешать массив. А не слить в поочередности.
Нужно [1, 'One', 2, 'Two']
Нее. Ты не понял.
Мне нужно перемешать массив. А не слить в поочередности.
Нужно [1, 'One', 2, 'Two']
JavaScript | Слияние двух массивов.
Вилы Выкидные (04.11.2021 в 14:34)
JavaScript | Слияние двух массивов.
JavaScript | Слияние двух массивов.
Иногда кроме заголовка, нужно еще и суть темы читать. Не?
может так сработает?
выводит:
1 a 2 b 3 c 4 d e f
let par1 = [1,2,3,4];
let par2 = ['a','b','c','d','e','f'];
let final = [];
par1.forEach((val, index) => final.splice(index * 2, 0, val));
par2.forEach((val, index) => final.splice(index * 2 + 1, 0, val));
final.forEach((val) => console.log(`${val} `));
выводит:
1 a 2 b 3 c 4 d e f
popka_slonika (04.11.2021 в 14:41)
Иногда кроме заголовка, нужно еще и суть темы читать. Не?
Иногда кроме заголовка, нужно еще и суть темы читать. Не?
И зачем тебе числовые значения массива преобразовывать в строковые?
Зачем тебе вообще массив целых чисел по порядку?
Вилы Выкидные (04.11.2021 в 14:45)
И зачем тебе числовые значения массива преобразовывать в строковые?
Зачем тебе вообще массив целых чисел по порядку?
И зачем тебе числовые значения массива преобразовывать в строковые?
Зачем тебе вообще массив целых чисел по порядку?
Кто тебе сказал что там именно такие массивы? Я их привел для примера, что бы раскрыть вопрос.
Два массива нужно слить в один, но в определенной последовательности. Массивы могут быть разные. Суть одна и так же.
Вилы Выкидные, да и два варианта своих я уже написал выше, они абсолютно рабочие.
Мне нужно максимально упростить уже готовый велосипед.
Мне нужно максимально упростить уже готовый велосипед.
let array1 = ['one','two','three', 'asd'];
let array2 = [1,2,3, 4, 5, 6, 7];
function concatByIndex(array1, array2) {
const final = [];
while (array1.length || array2.length) {
array1.length && final.push(array1.shift());
array2.length && final.push(array2.shift());
}
return final;
}
console.log(concatByIndex(array1, array2));
________
посл. ред. 04.11.2021 в 16:35; всего 1 раз(а); by mrcatoff
mrcatoff (04.11.2021 в 16:34)
let array1 = ['one','two','three', 'asd'];
let array2 = [1,2,3, 4, 5, 6, 7];
function concatByIndex(array1, array2) {
const final = [];
while (array1.length || array2.length) {
array1.length && final.push(array1.shift());
array2.length && final.push(array2.shift());
}
return final;
}
console.log(concatByIndex(array1, array2));
Да, оно. Но опять же, мой велосипед намного короче в записи. Мне нужно урезать все в минимум.
popka_slonika, так мой вариант тоже самое выводит, и вроде короче)
но можно и ещё сократить по идее:
------
79679_result.png (12.7 Kb)
Скачиваний: 150
но можно и ещё сократить по идее:
let par1 = [1,2,3,4];
let par2 = ['a','b','c','d','e','f'];
let final = [];
[...par1, ...par2].forEach((val, index) => final.splice(index < par1.length ? index * 2 : (index - par1.length) * 2 + 1, 0, val));
console.log(final);
------
79679_result.png (12.7 Kb)
Скачиваний: 150
Стр.: 1, 2