Javascript对象是否允许包含空格的键?

Inf*_*ogy 1 javascript object

我的数据: 我有一个对象数组:

var totalsArray = [
  { Applications: 1, Computing Servers: 0, Contracts: 0, Country: "United States" },
  { Applications: 1, Computing Servers: 0, Contracts: 0, Country: "Italy" },
  { Applications: 1, Computing Servers: 0, Contracts: 0, Country: "United States" },
  { Applications: 1, Computing Servers: 0, Contracts: 0, Country: "Spain" }
];
Run Code Online (Sandbox Code Playgroud)

我的代码: 然后我尝试使用以下代码提取密钥:

var objectKeys = d3.keys(totalsArray[0]).filter(function(key) { return key;} );
Run Code Online (Sandbox Code Playgroud)

但是,由于名为" Computing Servers " 的密钥空间,我收到错误.

我的问题: 有没有办法在密钥名称/字符串中正确创建和保留"空格"?

感谢您提供的任何帮助.

use*_*740 7

是的,一个属性名称可以是任何字符串(所有值在内部使用之前都被强制转换为字符串).

这可以使用文字中名称的引号(双引号或单引号)来完成:

{ Applications: 1, "Computing Servers": 0, .. },
Run Code Online (Sandbox Code Playgroud)

只是因为它可以与使用来完成obj[prop]语法(其中prop任何能够被转换为一个合理的字符串值表达):

obj["Computing Servers"] = 42;
Run Code Online (Sandbox Code Playgroud)