JavaScript数组语法

JavaScript Array Syntax

本文关键字:语法 数组 JavaScript      更新时间:2023-09-26
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中创建我的数组,但是有一个更优雅的方式来写上面?像对象初始化器?想知道

可以内联创建:

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

你可以这样重组:

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

可以创建如下数组:

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

在这种情况下,您还可以使用一些技巧来避免重复输入某些内容

var columnNames = ["ArrivedOn", "DepartedOn", "RoleType", "AdjusterFirstName", "AdjusterLastName" ];
var selectColumns = columnNames.map(function(colName){
    return { TableName: "DeploymentRosterView", ColumnName: colname };
});

请注意,map在旧的浏览器默认情况下是不可用的(但它的变体在库和浏览器中非常流行)