2011-11-30 6 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" }; 

上記のコードは、JavaScriptで配列を作成するために機能しますが、上記のコードを書くにはより優雅な方法がありますか?オブジェクトの初期化プログラムと同じですか?JavaScript配列の構文

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

答えて

10

を不思議

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(', ')); 
}​ 
1

をあなたが好きな配列を作成できます:あなたはとてもようにそれを再構築することができ

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

は注意してください - これはJSONではありません。これはオブジェクトリテラルの配列リテラルです。 JSONには非常に特殊な構文がありますが、これはそうではありません。 http://www.ietf.org/rfc/rfc4627.txt?number=4627 –

+2

ルールを参照してください。文字列の場合JSONならJSオブジェクト、JSオブジェクトなら – hugomg

+0

@missingno - いつもちょっと "jsonオブジェクト"がないことを理解しましたが、あなたのコメントは本当に私のために凝固しました...ありがとうございました。最後の答えで+1してください:) –

1

を:ちょうどあなたはインラインそれを作成することができます

0

あなたはできるもいくつかのトリックを使用して、この特定のケースで何かを再入力しないようにしてください

そのマップを注意してください
var columnNames = ["ArrivedOn", "DepartedOn", "RoleType", "AdjusterFirstName", "AdjusterLastName" ]; 

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

は、古いブラウザでは、デフォルトでは使用できません(ただし、それのバリエーションは、ライブラリやシムで非常に人気があります)