Javascript 数组中的数组
我想在数组中创建一个数组 它将包含一些不同位置的敌人。我试着这样写:Javascript 数组中的数组,javascript,arrays,Javascript,Arrays,我想在数组中创建一个数组 它将包含一些不同位置的敌人。我试着这样写: var enemies = [ position = { x: 0, y: 0 } ]; enemies.length = 6; 这似乎是可行的,然而,我不知道写什么,当我想叫它敌人[1]。position.x根本不起作用。有线索吗?你可能想要一组敌人的目标。比如: var enemies = [ { position: { x: 0, y: 0 } }, {
var enemies = [
position = {
x: 0,
y: 0
}
];
enemies.length = 6;
这似乎是可行的,然而,我不知道写什么,当我想叫它<代码>敌人[1]。position.x根本不起作用。有线索吗?你可能想要一组敌人的目标。比如:
var enemies = [
{ position: { x: 0, y: 0 } },
{ position: { x: 0, y: 0 } },
{ position: { x: 0, y: 0 } }
];
var firstEnemy = enemies[0];
firstEnemy.position.x; // 0
var totalEnemies = enemies.length; // 3
你想做的是
var enemies = [
{
position: { x: 0, y: 0 }
}
];
enemies[0].position.x;
数组索引从0开始
另外,让我们来分析一下为什么代码没有抛出错误,以及它到底是怎么做的
您正在声明一个名为的数组
,声明该数组时,您正在定义一个名为位置
的全局变量(并返回其值)
执行后,敌人
看起来像这样
[{x:0,y:0}]您的第一个元素将是敌人[0]您的“数组”是无效语法。var-offers=[{x:0,y:0},{x:5,y:5},{x:10,y:10}]代码>然后只需参考敌人[index].x
@Xufox这不是无效的,他只是在创建一个全局(位置
)。可能重复感谢,@nikhil。完全没有注意到这一点。