var array = ["Red", "Green", "White", "Black", "Gray"];
document.write(array.join("+"));3 Réponses :
Vous pouvez faire quelque chose comme ceci:
p>
// your initial array of elements to join
var array = ["Red", "Green", "White", "Black", "Gray"];
// new list of separators to use
var separators = ["+","-","*","#"];
var joined = array.reduce((output, elem, index) => {
// always join the next element
output += elem;
// add next separator, if we're not at the final element in the array
if (index < array.length - 1) output += separators[index];
// return the current edits
return output;
}, '')
console.log(joined) Vous pouvez réduire en prenant une matrice pour p> colle code>. var array = ["Red", "Green", "White", "Black", "Gray"],
glue = ['+', '-', '*', '#'],
result = array.reduce((a, b, i) => [a, b].join(glue[(i - 1) % glue.length]));
console.log(result);
(i => (a, b) => [a, b] .join (séparateurs [++ i, i% = séparateurs.length])) (- 1) code> peut simplement être (a, b, i) => [a, b] .join (séparateurs [i]) code>;)
@Vlaz, l'index commence par un.
Vous avez raison! Désolé, j'ai raté ça. Mais alors c'est [i-1] code> au lieu de [i] code>. J'apprécie le style de régime ici, cependant.
En supposant que les délimiteurs soient aléatoires et ne contiennent aucune logique. Vous pouvez consulter le code suivant:
var chars = ['a', 'b', 'c', 'd'];
var delimiters = ['+', '-', '*', '#'];
function customJoin(resultantStr, num) {
let delimiter = delimiters[Math.floor(Math.random()*delimiters.length)];
return resultantStr+delimiter+num;
}
console.log(chars.reduce(customJoin))
Vous pouvez le faire avec un
Réduire la méthode code>.