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)
你拥有的不是一个有效的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)
外部对象的元素具有值但没有键.如果需要多维数据集点数组,请使用方括号表示数组文字:
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)
显然,使用对象需要某种有序的密钥选择系统.由于您的点数不容易命名,因此最好使用数组.但是我想展示一下对象字面符号的样子.
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |