2011-11-30 9 views
7
var selectColumns = new Array(); 
selectColumns[0] = { TableName: "DeploymentRosterView", ColumnName: "ArrivedOn" }; 
selectColumns[1] = { TableName: "DeploymentRosterView", ColumnName: "DepartedOn" }; 
selectColumns[2] = { TableName: "DeploymentRosterView", ColumnName: "RoleType" }; 
selectColumns[3] = { TableName: "DeploymentRosterView", ColumnName: "AdjusterFirstName" }; 
selectColumns[4] = { TableName: "DeploymentRosterView", ColumnName: "AdjusterLastName" }; 

ऊपर दिए गए कार्यों को जावास्क्रिप्ट में अपनी सरणी बनाने के लिए काम करता है, लेकिन ऊपर लिखने के लिए एक और अधिक शानदार तरीका है? ऑब्जेक्ट प्रारंभकर्ता की तरह? बसजावास्क्रिप्ट ऐरे सिंटेक्स

उत्तर

10

सोच आप इसे इनलाइन बना सकते हैं:

var selectColumns = [ 
    { TableName: "DeploymentRosterView", ColumnName: "ArrivedOn" }, 
    { TableName: "DeploymentRosterView", ColumnName: "DepartedOn" }, 
    { TableName: "DeploymentRosterView", ColumnName: "RoleType" }, 
    { TableName: "DeploymentRosterView", ColumnName: "AdjusterFirstName" }, 
    { TableName: "DeploymentRosterView", ColumnName: "AdjusterLastName" } 
]; 
1

आप की तरह एक सरणी बना सकते हैं

var selectColumns = { 

    "DeploymentRosterView": { 
    "ColumnNames": ["DepartedOn", "RoleType", "AdjusterFirstName", "AdjusterLastName"] 
    } 
}; 

// Loop through all views 
for (view in selectColumns) 
{ 
    var v = selectColumns[view].ColumnNames; 
    alert('Column names for "' + view + '" is: ' + v.join(', ')); 
}​ 
+2

कृपया ध्यान दें - इस JSON नहीं है। यह वस्तु अक्षर के साथ एक सरणी अक्षर है। जेएसओएन में बहुत विशिष्ट वाक्यविन्यास है, जो यह नहीं है। देखें http://www.ietf.org/rfc/rfc4627.txt?number=4627 –

+2

अंगूठे का नियम - यदि यह एक JS स्ट्रिंग है तो यह JSON है यदि यह एक जेएस ऑब्जेक्ट है तो यह सिर्फ एक जेएस ऑब्जेक्ट – hugomg

+0

@missingno - I ' हम हमेशा समझते हैं कि कोई "जेसन ऑब्जेक्ट्स" नहीं है, लेकिन आपकी टिप्पणी ने वास्तव में इसे मेरे लिए ठोस बनाया है ... धन्यवाद, और अपने अंतिम उत्तर पर +1 :) –

1

आप यह इतना की तरह पुनर्गठन सकता है::

var selectColumns = [ 
    { TableName: "DeploymentRosterView", ColumnName: "ArrivedOn" }, 
    { TableName: "DeploymentRosterView", ColumnName: "DepartedOn" }, 
    { TableName: "DeploymentRosterView", ColumnName: "RoleType" }, 
    { TableName: "DeploymentRosterView", ColumnName: "AdjusterFirstName" }, 
    { TableName: "DeploymentRosterView", ColumnName: "AdjusterLastName" }]; 
0

आप भी कर सकते हैं इस विशेष मामले में कुछ चीजों को पुनः टाइप करने से बचने के लिए कुछ चाल का उपयोग करें

var columnNames = ["ArrivedOn", "DepartedOn", "RoleType", "AdjusterFirstName", "AdjusterLastName" ]; 

var selectColumns = columnNames.map(function(colName){ 
    return { TableName: "DeploymentRosterView", ColumnName: colname }; 
}); 

ध्यान दें कि नक्शा पुराने ब्राउज़र पर डिफ़ॉल्ट रूप से उपलब्ध नहीं है (लेकिन यह के रूपांतरों पुस्तकालयों और शिम्स में बहुत लोकप्रिय हैं)

संबंधित मुद्दे