Javascript数组/对象语法失败

Sti*_*ens 4 javascript arrays object object-literal

为什么我用这段代码得到这个错误:Uncaught SyntaxError: Unexpected token {在第1行.

var cube_points = {
    {'x' : 100, 'y' : 100, 'z' : 100},
    {'x' : 100, 'y' : 100, 'z' : -100},
    {'x' : -100, 'y' : 100, 'z' : -100},
    {'x' : -100, 'y' : 100, 'z' : 100},
    {'x' : 100, 'y' : -100, 'z' : 100},
    {'x' : 100, 'y' : -100, 'z' : -100},
    {'x' : -100, 'y' : -100, 'z' : -100},
    {'x' : -100, 'y' : -100, 'z' : 100}
};
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 7

你拥有的不是一个有效的JavaScript对象定义.{}表示对象,所以在里面你应该有属性,而不是其他属性{}.你需要的是一个数组,表示为[]:

var cube_points = [
    {'x' : 100, 'y' : 100, 'z' : 100},
    {'x' : 100, 'y' : 100, 'z' : -100},
    {'x' : -100, 'y' : 100, 'z' : -100},
    {'x' : -100, 'y' : 100, 'z' : 100},
    {'x' : 100, 'y' : -100, 'z' : 100},
    {'x' : 100, 'y' : -100, 'z' : -100},
    {'x' : -100, 'y' : -100, 'z' : -100},
    {'x' : -100, 'y' : -100, 'z' : 100}
];
Run Code Online (Sandbox Code Playgroud)

你可以这样访问:

cube_points[2].y
Run Code Online (Sandbox Code Playgroud)


Eri*_*ikE 7

外部对象的元素具有值但没有键.如果需要多维数据集点数组,请使用方括号表示数组文字:

var cube_points = [
    {'x' : 100, 'y' : 100, 'z' : 100},
    {'x' : 100, 'y' : 100, 'z' : -100},
    {'x' : -100, 'y' : 100, 'z' : -100},
    {'x' : -100, 'y' : 100, 'z' : 100},
    {'x' : 100, 'y' : -100, 'z' : 100},
    {'x' : 100, 'y' : -100, 'z' : -100},
    {'x' : -100, 'y' : -100, 'z' : -100},
    {'x' : -100, 'y' : -100, 'z' : 100}
];
Run Code Online (Sandbox Code Playgroud)

如果需要对象,请为项目指定密钥.这可能是数字或字母甚至是对象:

var cube_points = {
    1: {'x' : 100, 'y' : 100, 'z' : 100},
    2: {'x' : 100, 'y' : 100, 'z' : -100},
    'q': {'x' : -100, 'y' : 100, 'z' : -100},
    'z': {'x' : -100, 'y' : 100, 'z' : 100},
    '25': {'x' : 100, 'y' : -100, 'z' : 100},
    '26': {'x' : 100, 'y' : -100, 'z' : -100},
    10: {'x' : -100, 'y' : -100, 'z' : -100},
    11: {'x' : -100, 'y' : -100, 'z' : 100}
};
Run Code Online (Sandbox Code Playgroud)

显然,使用对象需要某种有序的密钥选择系统.由于您的点数不容易命名,因此最好使用数组.但是我想展示一下对象字面符号的样子.