我试图通过浏览器使用用户的输入字段搜索JSON文件中的值 .
对象数组中的示例JSON对象如下所示:
我有一个事件监听器等待用户点击 . 用户单击该功能后,将转到api json站点并检索所有数据 .
接下来,我想在该JSON数据中搜索用户键入的内容 .
例:
用户输入:“炮弹”
预期产量:196(buy_average)
但是我无法弄清楚如何搜索对象数组 .
Here's what I got:
参数“data”是从API检索的JSON对象 . 我知道它可以正常工作,因为我可以在控制台中显示它 .
function renderHTML(data) {
var searchVal = document.getElementById("search").value;
console.log(searchVal);
for (i=0; i<data.length; i++) {
if (data["i"].name == searchVal) {
console.log(data["i"].buy_average);
}
}
};
到目前为止,我只是试图在从Web检索它并将其显示到控制台后,如何查看对象数组 .
当我点击按钮时,除了用户的输入之外,控制台中似乎没有发生任何事情 . 我怎样才能解决这个问题?
2 回答
如果数据是对象,则
length
属性将为您提供undefined
. 您可以使用Object.values()获取值,然后遍历属性 .尽量不要将
i
用作字符串 - 而是将其用作整数: