web-dev-qa-db-fra.com

Comment combiner 2 variables javascript en une chaîne

Je voudrais joindre une variable js avec une autre pour créer un autre nom de variable ... donc ce serait comme;

for (i=1;i<=2;i++){
    var marker = new google.maps.Marker({
position:"myLatlng"+i,
map: map, 
title:"title"+i,
icon: "image"+i
}); 
}

et plus tard j'ai

myLatlng1=xxxxx;
myLatlng2=xxxxx;
16
Lenny Magico

Utilisez l'opérateur de concaténation+, et le fait que les types numériques se convertiront automatiquement en chaînes:

var a = 1;
var b = "bob";
var c = b + a;
var variable = 'variable',
    another = 'another';

['I would', 'like to'].join(' ') + ' a js ' + variable + ' together with ' + another + ' to create ' + [another, ...[variable].concat('name')].join(' ').concat('...');
6
Abdullah Aydın

si vous voulez concaténer la représentation sous forme de chaîne des valeurs de deux variables, utilisez le + signe :

var var1 = 1;
var var2 = "bob";
var var3 = var2 + var1;//=bob1

Mais si vous souhaitez conserver les deux dans une seule variable, mais pouvoir y accéder ultérieurement, vous pouvez créer un conteneur d'objets:

function Container(){
   this.variables = [];
}
Container.prototype.addVar = function(var){
   this.variables.Push(var);
}
Container.prototype.toString = function(){
   var result = '';
   for(var i in this.variables)
       result += this.variables[i];
   return result;
}

var var1 = 1;
var var2 = "bob";
var container = new Container();
container.addVar(var2);
container.addVar(var1);
container.toString();// = bob1

l'avantage est que vous pouvez obtenir la représentation sous forme de chaîne des deux variables, mais vous pouvez les modifier plus tard:

container.variables[0] = 3;
container.variables[1] = "tom";
container.toString();// = tom3
3
gion_13

ES6 introduit des chaînes de modèle pour la concaténation. Les chaînes de modèle utilisent des ticks arrière (``) plutôt que les guillemets simples ou doubles auxquels nous sommes habitués avec les chaînes régulières. Une chaîne de modèle pourrait ainsi s'écrire comme suit:

// Simple string substitution
let name = "Brendan";
console.log(`Yo, ${name}!`);

// => "Yo, Brendan!"

var a = 10;
var b = 10;
console.log(`JavaScript first appeared ${a+b} years ago. Crazy!`);

//=> JavaScript first appeared 20 years ago. Crazy!
2
Muneeb JS

Vous pouvez utiliser la méthode JavaScript String concat (),

var str1 = "Hello ";
var str2 = "world!";
var res = str1.concat(str2); //will return "Hello world!"

Sa syntaxe est:

string.concat(string1, string2, ..., stringX)
2
K0m1sh