javascript - 如何搜索数组属性中的项目?

标签 javascript html arrays sorting search

我正在尝试制作一个简单的网站(没有 CSS3)来搜索数组中的项目。我实现此目标的方法是搜索数组中项目的“title”或“desc”属性。如果标题包含输入中的关键字,我的预期结果是在控制台中获得 titleOfItem + ' fizz' 。相反,我收到以下错误: console image & error

这是我的 HTML5 代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>replit</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <input id="keywordText" type="text">
    <button id="submit" onclick="search()">Search</button>
    <script src="script.js"></script>
  </body>
</html>

这是我的 JS 代码:

const items = {
  john:{title:'john', desc:"doe", elem:document.getElementById('john')},
  jane:{title:'jane', desc:"doe", elem:document.getElementById('jane')}
}

let allItems = []
for (var key in items) {
  allItems.push(items[key])
}



function search() {
  let keyword = document.getElementById('keywordText').value;
  for (let count = 0; allItems.length; count++) {
    let titleOfItem = allItems[count].title
    if (titleOfItem.includes(keyword)) {
      console.log(titleOfItem + ' fizz')
    } else {
      console.log(titleOfItem + ' buzz')
    }
  }
}

我在这段代码中做错了什么吗?另外,出于组织目的,是否有某种方法可以直接从第一个数组获取此信息?

最佳答案

for (let count = 0; count < allItems.length; count++) {

}

您收到错误是因为您没有指定计数值将在 for 循环中持续多长时间。您可以通过像这样更新代码来解决问题。

关于javascript - 如何搜索数组属性中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70408269/

相关文章:

javascript - 我可以创建 Chrome 扩展程序或 Firefox 插件来截取网页屏幕截图吗?

javascript - PDF.js 返回整个文档的文本内容作为每个页面的文本内容

javascript - html 中的外部 javascript 文件不起作用

javascript - 如何使用预选值初始化下拉列表(<select/>)然后更改它?

javascript - 如果它只包含一个或多个空格,则删除数组的第一个元素

javascript - 极小极大算法的井字游戏

html - 如果 CSS 不适合父级,则 CSS 平均划分子级宽度

html - 当我删除 CSS 中菜单边框的代码时,没有任何变化

java - 为什么我的随机数生成器方法会返回相同的数字?

php - 仅从另一个数组的值创建关联数组 - PHP