Как мне объединить 2 переменные JavaScript в строку - PullRequest
14 голосов
/ 07 мая 2011

Я хотел бы объединить переменную js вместе с другой, чтобы создать другое имя переменной ... так что бы это выглядело как;

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

и позже у меня есть

myLatlng1=xxxxx;
myLatlng2=xxxxx;

Ответы [ 5 ]

32 голосов
/ 07 мая 2011

Используйте оператор конкатенации + и тот факт, что числовые типы автоматически преобразуются в строки:

var a = 1;
var b = "bob";
var c = b + a;
6 голосов
/ 02 сентября 2016
var variable = 'variable',
    another = 'another';

['I would', 'like to'].join(' ') + ' a js ' + variable + ' together with ' + another + ' to create ' + [another, ...[variable].concat('name')].join(' ').concat('...');
3 голосов
/ 07 мая 2011

, если вы хотите объединить строковое представление значений двух переменных, используйте знак +:

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

Но если вы хотите сохранить эти два только в одной переменной, но все равнополучив доступ к ним позже, вы можете создать контейнер объектов:

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

преимущество в том, что вы можете получить строковое представление двух переменных, но вы можете изменить их позже:

container.variables[0] = 3;
container.variables[1] = "tom";
container.toString();// = tom3
2 голосов
/ 01 августа 2018

ES6 вводит строки шаблонов для объединения.Шаблонные строки используют обратные тики (``), а не одинарные или двойные кавычки, к которым мы привыкли с обычными строками.Таким образом, строка шаблона может быть записана следующим образом:

// 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 голосов
/ 24 июня 2014

Вы можете использовать метод JavaScript String concat (),

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

Его синтаксис:

string.concat(string1, string2, ..., stringX)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...