JavaScript | Слияние двух массивов.
Тема закрыта by
Копирайтер scam
И так, опять вопрос. Нужно два массива сделать одним.
Есть
Нужно сделать:
Голова сегодня вообще не хочет работать.
________
посл. ред. 04.11.2021 в 13:05; всего 1 раз(а); by popka_slonika
Есть
let a = ['one','two','three'];
let b = [1,2,3];
Нужно сделать:
['one','1','two','2','three','3'];
Голова сегодня вообще не хочет работать.
________
посл. ред. 04.11.2021 в 13:05; всего 1 раз(а); by popka_slonika
Ах да. Массивы могут быть разной длины.
popka_slonika (04.11.2021 в 13:04)
И так, опять вопрос. Нужно два массива сделать одним.
Есть
Нужно сделать:
Голова сегодня вообще не хочет работать.
И так, опять вопрос. Нужно два массива сделать одним.
Есть
let a = ['one','two','three'];
let b = [1,2,3];
Нужно сделать:
['one','1','two','2','three','3'];
Голова сегодня вообще не хочет работать.
const students1 = ['Иванов', 'Сидоров'];
const students2 = ['Петров', 'Курочкина'];
const all = [...students1, ...students2];
all; // ['Иванов', 'Сидоров', 'Петров', 'Курочкина']
Пупсь Сайбот (04.11.2021 в 13:05)
const students1 = ['Иванов', 'Сидоров'];
const students2 = ['Петров', 'Курочкина'];
const all = [...students1, ...students2];
all; // ['Иванов', 'Сидоров', 'Петров', 'Курочкина']
const students1 = ['Иванов', 'Сидоров'];
const students2 = ['Петров', 'Курочкина'];
const all = [...students1, ...students2];
all; // ['Иванов', 'Сидоров', 'Петров', 'Курочкина']
Вопрос стоит в написании функции, которая максимально быстро сольет два массива в один. При этом не важно какой длины массив. Но и главное, что бы на выходе не выдало undefined.
Пупсь Сайбот, вот как я это сделал. Но ведь велосипед же
________
посл. ред. 04.11.2021 в 13:11; всего 2 раз(а); by popka_slonika
let par1 = [1,2,3,4];
let par2 = ['a','b','c','d','e','f'];
let par3 = Math.max(par1.length, par2.length)*2;
let par4 = [par1,par2];
let par5 = [];
for(i=0;i<par3;i++){
let g = d[i%2][Math.floor(i/2)];
if(g != undefined) par5.push(g);
}
console.log(par5)
________
посл. ред. 04.11.2021 в 13:11; всего 2 раз(а); by popka_slonika
Нужно укоротить код до максимума.
Вот for -> можно заменить на while.
Вот for -> можно заменить на while.
И еще вопрос).
Можно же укорачивать до
??
Или я что-то путаю?
Math.floor(a)
Можно же укорачивать до
~~a
??
Или я что-то путаю?
var par1 = [1, 2, 3, 4];
var par2 = ['one', 'two', 'three'];
function merge(par1, par2)
{
return (par1.length > 0) ? [par1[0]].concat(merge(par2, par1.slice(1))) : par2;
}
console.log(merge(par1, par2));
Это тоже работает. И кода намного меньше. Но рекурсия для меня, это ещё не совсем то
let a = [1, 2, 3, 4];
let b = ['one', 'two', 'three'];
console.info([...a, ...b]); //[1, 2, 3, 4, "one", "two", "three"]
________
посл. ред. 04.11.2021 в 14:28; всего 2 раз(а); by Вилы Выкидные
Вилы Выкидные (04.11.2021 в 14:26)
let a = [1, 2, 3, 4];
let b = ['one', 'two', 'three'];
console.info([...a, ...b]); //[1, 2, 3, 4, "one", "two", "three"]
Нее. Ты не понял.
Мне нужно перемешать массив. А не слить в поочередности.
Нужно [1, 'One', 2, 'Two']
Стр.: 1, 2