Cum pot combina 2 variabile javascript într-un șir de caractere (Programare, Javascript, Variabile)

Lenny Magico a intrebat.
a intrebat.

Aș dori să se alăture o variabilă js împreună cu un alt pentru a crea un alt nume de variabilă… astfel încât ar fi arata ca;

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

și mai târziu am

myLatlng1=xxxxx;
myLatlng2=xxxxx;

Comentarii

  • Nu sunt chiar un tip de javascript, de aceea, fără carte, asta doar pentru că fac ceva cu google maps api și asta necesită un pic de cunoștințe de js pe care eu nu le am prea multe 🙂 –  > Por Lenny Magico.
5 răspunsuri
Curse de luminozitate pe orbită

Utilizați operatorul de concatenare +, precum și faptul că tipurile numerice se vor converti automat în șiruri de caractere:

var a = 1;
var b = "bob";
var c = b + a;

Comentarii

  • problema acum este că bob1 este o variabilă care are o valoare mai departe. Codul pe care mi l-ai dat tu creează un șir de caractere, eu am nevoie ca bob1 să fie un nume de variabilă…, scuze, am pus întrebarea puțin greșit, dar este posibil ceea ce aș vrea eu? Știu că este posibil în php, dar în javascript este posibil? –  > Por Lenny Magico.
  • @Lenny: Folosirea șirului generat „bob1” ca nume de variabilă este o întrebare complet diferită și separată. Tu puteți face acest lucru folosind eval, dar, în general, nu este bine văzut. Ar fi mai bine să regândești unele aspecte ale codului tău, poate folosind array-uri. Dacă aveți întrebări în legătură cu acest lucru, vă rugăm să postați o nouă întrebare, deoarece este este un lucru separat. –  > Por Curse de luminozitate pe orbită.
  • Ceea ce fac este că, chem coridantele de poziție dintr-o bază de date mysql și aș dori să le folosesc pe hărțile Google, există o soluție de lucru și anume să fac acest lucru separat și să creez fiecare marker separat, dar din moment ce acest lucru ar putea fi pentru peste 100 de markeri pe o hartă Google ar putea cauza probleme, am auzit de eval, dar sunt ușor confuz cu privire la modul de utilizare, dar voi arunca o privire pentru a vedea dacă pot găsi un tutorial util 🙂 –  > Por Lenny Magico.
  • @Lenny: Am avut probleme similare cu markerele. Aceasta este, desigur în întregime fără legătură cu această întrebare, dar voi fi interesat să văd orice întrebare pe care o veți posta în viitor cu privire la markerii Google Maps. Vă rugăm să luați în considerare utilizarea unui array: cu „array-urile asociative” (obiecte) din Javascript puteți prelua proprietăți/valori prin intermediul unor nume care sunt la rândul lor date de variabile. –  > Por Curse de luminozitate pe orbită.
  • Brilliant eval funcționează și face ceea ce mi-aș dori să facă, punerea întrebării a fost dificilă, de aceea îmi cer scuze pentru că am provocat atâta confuzie 🙂 –  > Por Lenny Magico.
Abdullah

avertizare! acest lucru nu funcționează cu link-uri.

var variable = ‘variable’,another = ‘another’;

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

gion_13

dacă doriți să concatenați reprezentarea în șiruri a valorilor a două variabile, utilizați + sign :

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

Dar dacă vreți să le păstrați pe cele două într-o singură variabilă, dar să le puteți accesa ulterior, puteți face un container de obiecte:

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

avantajul este că puteți obține reprezentarea în șir de caractere a celor două variabile, puțin le puteți modifica ulterior :

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

Comentarii

  • Declarați (corect) abstracțiunea addVar, dar apoi, în exemplu, alegeți în schimb să folosiți accesul direct la tablouri în mod defectuos! De asemenea, utilizați var (care este un cuvânt cheie) pentru numele variabilelor, apoi încercați să apelați add (care nu există). De asemenea, aplicația dvs. toString() returnează mult mai mult decât se dorește, deoarece iterați peste toate proprietăți ale variables obiect, nu doar pe cele cu chei numerice. După remedierea acestor erori, scriptul rulează și produce "1bob", nu "bob1". În mod similar, al doilea exemplu oferă "3tom", nu "tom1". –  > Por Curse de luminozitate pe orbită.
Muneeb

ES6 introduce șiruri șablon pentru concatenare. Șirurile șablon utilizează ghilimele („) mai degrabă decât ghilimelele simple sau duble cu care suntem obișnuiți cu șirurile obișnuite. Astfel, un șir șablon ar putea fi scris după cum urmează:

// 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!

K0m1sh

Puteți utiliza metoda JavaScript String concat(),

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

Sintaxa acesteia este

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