J'ai deux ficelles A et B, la longueur de B est la moitié de la longueur d'A, j'ai essayé de créer une boucle pour mettre sur le caractère de b tous les 2 caractères d'un a essayé de ce
p>
let a = "pekaoo";
let b = "eb!";
let stop = a.length;
for (let i = 1; i <= stop; i += 2) {
a = a.substring(0,i) + b[i/2] + a.substring(i);
}
console.log(a);6 Réponses :
Vous pouvez itérer la chaîne avec des lettres simples et couper la chaîne la plus longue en utilisant un facteur de deux.
thinn ajouter toutes les pièces à une nouvelle chaîne. p>
p>
let a = "pekaoo",
b = "eb!",
result = '';
for (let i = 0; i < b.length; i++) {
result += a.slice(i * 2, (i + 1) * 2) + b[i];
}
console.log(result);Comme toujours une solution laconique!
Utilisation de P> Remplacer () CODE> let a = "pekao";
let b = "eb!";
let arr = [...b]
let res = a.replace(/.{1,2}/g, match => match + arr.shift())
console.log(res);
Pour votre demande très spécifique, j'ai pu écrire le code suivant qui semble fonctionner. Devrait également travailler avec des chaînes plus grandes (vous devrez faire quelques modifications mineures alors).
p>
let a = "pekaoo";
let b = "eb!";
var outcome = "";
for(let i = 0; i < a.length/2; i++) {
outcome += a.substring((i*2),((i+1)*2)) + b.substring(i, i+1);
}
console.log(outcome)
let a = "pekaoo";
let b = "eb!";
let result = "";
for (let i = 0; i < a.length; i++) {
result += a[i];
if ((i - 1) % 2 == 0){
result += b[(i - 1) / 2]
}
}
console.log(result); et en utilisant SUBSTR au lieu de SUBSTRIND CODE> :
P>
const a = "pekaoo",
b = "eb!";
let res = "";
for (let i = 0; i <= a.length; i += 2) {
res += a.substr(i, 2) + b.substr(i/2, 1);
}
console.log(res);Cela peut ressembler beaucoup, mais c'est une approche plus algorithmique de la solution.
p>
.as-console-wrapper { top: 0; max-height: 100% !important; }
A.Stop ne signifie rien.