2016-06-02 15 views
0

私は複数の長い変数名を持っています。変数名を結合する

var easternstateconventionlocation = "someting a"; 
var easternstateconventiondateandtime = "someting b"; 
var easternstateconventionsponsor = "someting c"; 

あなたがeasternstateconventionを見ることができるように一般的です。これらの変数を使用している場合、共通部分+追加部分を使用して結合して、完全な変数名を作成できますか?例:

var common = 'easternstateconvention'; 
var loc = 'location'; 
var spo = 'sponsor'; 
var dat = 'dateandtime'; 
.text('location: '+ common +''+loc+' at '+ common +''+dat); 

私の要件は、将来の使用のために変数名を短くすることです。

注:既存の長い変数名を変更せずにこれを行うソリューションを探しています。

+0

@JayeshChitrodaご返信ありがとうございます。私は既存の長い変数名を変更せずにこれを行うためのソリューションを探しています。 – Becky

+0

巨大な不自然な変数を使うつもりなら、キャメルケースを用意するべきです。私はあなたのメソッドは、すべての値が文字列の場合に動作すると思います。 – zer00ne

答えて

3

変数を構成するオブジェクトを作成すると、オブジェクトからBracket notationを使用してデータをフェッチできます。

var obj = { 
 
    easternstateconventionlocation: "someting a", 
 
    easternstateconventiondateandtime: "someting b", 
 
    easternstateconventionsponsor: "someting c" 
 
} 
 

 

 
var common = 'easternstateconvention'; 
 
var loc = 'location'; 
 
var spo = 'sponsor'; 
 
var dat = 'dateandtime'; 
 

 
console.log('location: ' + obj[common + loc] + ' at ' + obj[common + dat])

1
var common = 'easternstateconvention'; 
var loc = 'location'; 
var spo = 'sponsor'; 
var dat = 'dateandtime'; 
console.log('location: '+ [common] +''+[loc]+' at '+ [common] +''+[dat]); 

Demo

0
var common = { 
    location: "someting a", 
    dateandtime: "someting b", 
    sponsor: "someting c" 
}; 

var loc = 'location'; 
var spo = 'sponsor'; 
var dat = 'dateandtime'; 
console.log('location: '+ common[loc]+' at '+ common[dat]); 

または

var common = { 
    location: "someting a", 
    dateandtime: "someting b", 
    sponsor: "someting c" 
}; 

console.log('location: '+ common['location']+' at '+ common['dateandtime']); 

しかし、UはCamelStyleを使用しています。文字列またはvarialbe 'dateAndTime'は 'dateandtime'から読み込み可能です。

関連する問題