【发布时间】:2022-01-19 17:03:31
【问题描述】:
看看我制作 fam 对象的方式。我可以搜索此对象的用户名,我的网页将使用此代码显示其权重。 据我所知,通过构造函数作为 Dog() 来制作对象更方便。 我希望我的函数能够遍历通过 Dog() 构造函数创建的所有对象,例如 doggo 和 doggy,并在用户搜索狗名时在我的网页上显示其权重。 如果可能的话,我该怎么做?
function Dog(name, weight) {
this.name = name;
this.weight = weight;
}
let doggo = new Dog("Spot", "10kg");
let doggy = new Dog("Snoop", "20kg");
const fam = [
{
name: "one",
weight: "1kg"
},
{
name: "two",
weight: "2kg"
},
];
function find() {
var x = String(field.value);
for (var i = 0; i<fam.length; i++) {
if (fam[i].name === x) {
para.textContent = fam[i].weight;
}
}
}
btn.addEventListener("click", find);
【问题讨论】:
-
将您的对象放入数组
var dogs =[]; dogs.push(doggo, doggy);,然后对其进行迭代。您还可以考虑在if块内添加break关键字,以退出for块并停止迭代整个数组。 -
只写
const fam = [doggo, doggy];或const fam = [new Dog(…), new Dog(…)];而不是那些对象字面量。
标签: javascript for-loop object search