2017-01-28 9 views
0

数字を文字列に変換してキーとして使用しようとしています。しかし、問題は、私が新しく変換された文字列でも、数字のように機能することです。これを行う正しい方法がありますか?数字を文字列に変換し、それを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 

基本的に、私はそれだけで返すようにしたい:

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

とは、あなたが何をしたいですか?結果を追加してください。 –

+1

JavaScriptは '[]'演算子で使用する式を文字列に変換します。何もする必要はありません。 'arr [3]'は 'arr [" 3 "]'と同じです。 – Pointy

+0

こんにちは、申し訳ありませんが、私の望む結果を質問に追加しました –

答えて

3

あなたが探しているものは、オブジェクト{})ないアレイ(あります[])。これは、代わりに使用します。

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

例:

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

 
console.log(obj);

+0

これはまさに私が探していたものでした。ありがとう! –

+2

ですので、配列ではなくオブジェクトを探しています。プレーンオブジェクトには(組み込みの)lengthプロパティはありません。 –

+0

'Object.keys()'の後ろにあります:) –

関連する問題