为php这样的键填充javascript数组的简写

Sab*_*ste 5 javascript arrays shorthand array-key

在Javascript中,知道我可以设置一个数组,以便键是自动编号(从0开始)分配的数组:

var d_names = new Array("Sunday", "Monday", "Tuesday", 
              "Wednesday", "Thursday", "Friday", "Saturday");

// Key for Sunday is '0' 
Run Code Online (Sandbox Code Playgroud)

如果我想分配密钥,我可以这样做:

    var d_names={};
    d_names[5]="Sunday";
    d_names[6]="Monday";
    d_names[7]="Tuesday";
    d_names[8]="Wednesday";
    d_names[9]="Thursday";
    d_names[10]="Friday";
    d_names[11]="Saturday";

    // Key for Sunday is '5'
Run Code Online (Sandbox Code Playgroud)

但有没有像PHP中那样分配键的简写方法?

var d_names = new Array(5=>"Sunday", 6=>"Monday", 7=>"Tuesday", 8=>"Wednesday", 
            9=>"Thursday", 10=>"Friday", 11=>"Saturday"); 

// Doesn't work
Run Code Online (Sandbox Code Playgroud)

Dav*_*son 10

你想要的是一个对象:

var d_names = {
    5: "Sunday",
    6: "Monday"
    //...
};
Run Code Online (Sandbox Code Playgroud)

然后你可以"Sunday"这样:

var sunday = d_names[5];
Run Code Online (Sandbox Code Playgroud)

  • Javascript不支持关联数组......这是一个对象! (11认同)
  • 这有一个小问题 - 它与数组不完全相同.例如,它没有length属性,你不能将()新值推送到最后.如果您不需要这些(或其他)特定于阵列的功能,那么这很好. (3认同)