0

我有一个这样的数组:

   elements = new Array(
       {opinions: 'p31/php/endpoint.php?get=opinions'}, // function to call and API endpoint, php/endpoint.php
       {top3positive: 'p31/php/endpoint.php?get=top3positive'}, // function to call andAPI endpoint, php/endpoint.php
       {top3negative: 'p31/php/endpoint.php?get=top3negative'} // function to call andAPI endpoint, php/endpoint.php
        );

我正在努力获得价值。例如,简单的事情是:elements[0].opinions将正确返回p31/php/endpoint.php?get=opinions 事实是我需要在不直接知道值的情况下获得相同的信息。

所以我正在做以下事情:

function getEndPoint(element) {
    for (index in elements) {
        if (Object.getOwnPropertyNames(elements[index]) == element) {
            console.log(eval(elements[index]. element));
        }
    }
}

element例如代表意见。当我这样做console.log(eval(elements[index]. element));时,它没有正确返回p31/php/endpoint.php?get=opinions,而是返回未定义。我还尝试使用eval()element从字符串评估为可运行代码,但没有。

我做错了什么?谢谢

4

1 回答 1

1

采用

elements[index][element]

但这不仅仅是你想要的吗?

elements[element]

另外,使用 === 而不是 ==...

于 2013-11-07T08:57:02.197 回答