我有点新手我希望有人可以指出我做错了什么。
想法是searchArray循环遍历数组值和属性。它接受参数(属性,值)。当我调用该函数时,我得到一个RefernencError,说明属性(主机名)是未定义的。 browserHistory [i] .property有什么问题吗?
function searchArray(property, value) {
for (i = 0; i < browsingHistory.length; i++) {
return value === browsingHistory[i].property;
}
}
答案 0 :(得分:3)
browsingHistory[i].property
表示名为&#34; property&#34;。
使用browsingHistory[i][property]
代替
演示
function searchArray(property, value) {
for (i = 0; i < my_array.length; i++) {
return value === my_array[i][property];
}
}
var my_array = [
{
x: "foo",
y: "bar"
},
{
x: "foooooo",
y: "baaaaar"
}
]
// should output "true" because my array contains an element with a
// property named "x" and which value is "foo"
document.body.innerHTML = searchArray("x","foo");
&#13;
答案 1 :(得分:0)
如果您使用变量作为任何对象的属性,则可以使用“。”语法。您必须将其用作具有该属性的数组(类似数组索引强>)。例如
var property = "name";
....
anyObject[property] // equals to anyObject['name'] or anyObject.name