Вы должны l oop хотя бы один раз - другого варианта нет. Это одно из возможных решений:
let A = ["u23", "c35", "d34"];
let B = ["123", "234", "345"];
let C = A.map((el, i) => el + "," + B[i]);
console.log(C);
Приведенное выше решение может быть улучшено с помощью стандарта for-loop
:
let C = [];
for (let i = 0; i < 1e6; i++){
C.push(A[i] + "," + B[i]);
}
, и вы можете улучшить его, изменив один из входных данных массивы вместо создания нового массива:
for (let i = 0; i < 1e6; i++){
A[i] += "," + B[i];
}
Вы можете сравнить производительность каждого из трех выше в реплее, который я создал здесь.
После Через несколько прогонов вы заметите, что последний метод самый быстрый. Это потому, что во втором примере создан новый массив C
, длина которого 0
. С каждым .push()
массив должен растягиваться, что занимает много времени. В третьем примере у вас уже есть массив с правильным размером, и вы изменяете только его записи.
То, что всегда будет красть время, - это конкатенация строк. Вы можете поиграть с моими решениями, заменив конкатенацию строк простым сложением (в виде чисел), и вы увидите, что это значительно ускоряет операцию. Я надеюсь, что это проливает некоторый свет на вашу проблему.