在函数调用中将对象名称和描述定义为变量?

时间:2017-11-20 18:41:30

标签: javascript jquery html

我正在尝试为我的查找过程创建一个函数,因为它看起来我需要经常使用它。我换掉了部件,使它变得多功能,除了它似乎很难找到你定义的“属性”,现在我修改了它。我相信lookupResult[array[i][property]是问题,因为我不确定如何为函数更改它(之前是pINV[i].id)。任何人都可以提供任何解决方案吗?

var pINV = [];
var examine = "ball"; // What the player typed (for simplicity)

function Item(id, desc) {
  this.id = id;
  this.desc = desc;
}

function Lookup(array, property) {
  var lookupResult = {};
  for (var i = 0, len = [array].length; i < len; i++) {
    lookupResult[array[i][property]] = array[i];
  }
  return lookupResult;
}

var invLookup = Lookup(pINV, id);
var item = invLookup[examine];
console.log(item.desc);

1 个答案:

答案 0 :(得分:1)

这个[array].length错了。它正在[[1,2,3]]而不是[1,2,3],因此长度总是为1。放下[]