2017-01-28 3 views
0

Ich versuche, eine Zahl in eine Zeichenfolge zu konvertieren, um sie als Schlüssel zu verwenden. Aber das Problem ist, wenn ich die neu konvertierte Saite noch wie eine Nummer agiere. Gibt es einen richtigen Weg, dies zu tun?Wie konvertiert man eine Zahl in einen String und benutzt sie als Array-Schlüssel in Javascript?

JAVASCRIPT

var arr = []; 

var num = 3; 

var key = String(''+num); //Convert number into string 

//var key = '' +num;   //Tried this 
//var key = num.toString(); //Tried this also 

array[key] = true; 

console.log(arr); //Returns [, , true] 
console.log(arr.length); //Returns 3 

Grundsätzlich möchte ich es nur zurück:

console.log(arr); //Return [true] 
console.log(arr.length); //Return 1 
+2

und was wollen Sie? Bitte fügen Sie das Ergebnis hinzu. –

+1

JavaScript wandelt jeden Ausdruck, den Sie mit dem Operator '[]' verwenden, in eine Zeichenfolge um. Sie müssen überhaupt nichts tun. 'arr [3]' ist dasselbe wie 'arr [" 3 "]'. – Pointy

+0

Hallo, sorry, mein Wunschergebnis zu Frage –

Antwort

3

Was Sie suchen ist ein Objekt ({}) kein Array ([]). Verwenden Sie stattdessen:

var obj = {}; 
var key = 3; 
obj[key] = true; // no need to convert the key to string 

Beispiel:

var obj = {}; 
 
var key = 3; 
 
obj[key] = true; 
 

 
console.log(obj);

+0

Das war genau das, was ich gesucht habe, danke! –

+2

Sie suchen also nach einem Objekt anstelle eines Arrays. Einfaches Objekt hat keine (eingebaute) Längeneigenschaft. –

+0

Sie tun nach 'Object.keys()' :) –

Verwandte Themen