2
votes

For loop Rejoindre avec &

var substr = [1, 2, 3, 4, 5, 6];

for (var i = 0; i < substr.length; i++) {
    var urls = 'url' + substr[i];
    var joinArr = urls.join('&');
    console.log("JoinArray", joinArr);
}
Will join work to get output like this?
  url1=&url2=&url3=&url4=&url5=&url6=

2 commentaires

join est une opération de tableau. urls est une chaîne, pas un tableau.


Une chose que vous pouvez faire est à tout moment votre question est "Est-ce que cela fonctionnera?" consiste à exécuter le code et à voir ce qu'il vous donne.


5 Réponses :


1
votes

Ce n'est pas une chaîne de requête valide, mais vous pouvez utiliser map à la place:

var joinArr = substr.map(n => "url" + n).join("=&") + "=";


0 commentaires

2
votes

join est une méthode sur des tableaux, mais urls est une chaîne, pas un tableau.

Vous devez pousser la chaîne sur un tableau et appeler rejoignez à la fin.

Et si vous voulez qu'ils aient = , vous devez également concaténer cela.

p>

var substr = [1, 2, 3, 4, 5, 6];
var urls = [];
for (var i = 0; i < substr.length; i++) {
  urls.push('url' + substr[i] + '=');
}
var joinArr = urls.join('&');
console.log("JoinArray", joinArr);


0 commentaires

0
votes

Vous pouvez joindre les valeurs d'index et remplacer les nombres par le modèle spécifique.

var substr = [1, 2, 3, 4, 5, 6];
var str = substr.join('').replace(/[0-9]/g, (n) => `url${n}=&`).slice(0, -1);
console.log(str);


0 commentaires

0
votes

Puisque la question est balisée jQuery, vous pouvez utiliser $ .param () code > sur un objet réduit

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
var substr = [1, 2, 3, 4, 5, 6];

var query = $.param(substr.reduce((a,c)=> (a['url' + c]='',a),{}))

console.log(query)


0 commentaires

0
votes

Et ...

var substr = [1, 2, 3, 4, 5, 6];
console.log('url'+substr.join('=&url')+'=');

//output:   url1=&url2=&url3=&url4=&url5=&url6=

?


0 commentaires