你不能在javascript对象中连接字符串和函数调用吗?

时间:2017-03-02 23:12:03

标签: javascript

我试图引用数组中的索引,但gameObjects [1]返回未定义。 gameObjects是一个对象数组。

var gameObjects = [enemy,treasure];


var mysteryBlock = {
name: "Mystery Block",
output:"produces " + gameObjects[1] 

}

var enemy = {
output: "an enemy"
}

var treasure = {

  output: "a treasure"

}

console.log("your mystery cube " + mysteryBlock.output)

以未定义的形式返回。

2 个答案:

答案 0 :(得分:1)

在使用之前,您应该定义enemytreasure。它无法正常工作,因为您需要引用对象的output属性:

var enemy = {
  output: "an enemy"
}

var treasure = {
  output: "a treasure"
}

var gameObjects = [enemy,treasure];


var mysteryBlock = {
  name: "Mystery Block",
  output:"produces " + gameObjects[1].output 
}


console.log("your mystery cube " + mysteryBlock.output);

Here it is working

答案 1 :(得分:1)

gameObjects变量是一个对象数组,如下所示:

[{
  "output": "an enemy"
},
{
  "output": "a treasure"
}]

使用gameObjects[1]调用它,您将收到一个对象。要获得结果,您必须指定key ,在您的情况下为output



var enemy = {
  output: "an enemy"
}

var treasure = {
  output: "a treasure"
}

var gameObjects = [enemy, treasure];

var mysteryBlock = {
  name: "Mystery Block",
  output: "produces " + gameObjects[1].output //mentioned line of code
}

console.log("your mystery cube " + mysteryBlock.output)