循环访问 JS 数组 + 数组属性

Iterating through JS Array + Array Properties

本文关键字:数组 属性 JS 访问 循环      更新时间:2023-09-26

我有点新手,我希望有人能指出我做错了什么。

这个想法是让searchArray遍历数组值和属性。它接受参数(属性、值)。当我调用该函数时,我得到一个 RefernencError 说属性(主机名)未定义。浏览历史[i].property有什么问题吗?

function searchArray(property, value) {
    for (i = 0; i < browsingHistory.length; i++) {
        return value === browsingHistory[i].property;
    }
}

browsingHistory[i].property表示名为"property"的属性的值。

改用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");

如果使用变量作为任何对象的属性,则可以与"."语法一起使用。您必须将其用作具有该属性的数组(如数组索引)。例如

var property = "name";
....
anyObject[property] // equals to anyObject['name'] or anyObject.name