這個問題在這里已經有了答案:
這是我的 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')
}
}
}
我在這段代碼中做錯了什么嗎?此外,出于組織目的,是否有某種方法可以直接從第一個陣列中獲取此資訊?
謝謝您的幫助!
uj5u.com熱心網友回復:
for (let count = 0; count < allItems.length; count ) {
}
您收到錯誤是因為您沒有指定計數值將在 for 回圈中持續多長時間。您可以通過像這樣更新代碼來解決問題。
uj5u.com熱心網友回復:
您可能錯過了 for 回圈中的條件。將您的代碼更改為:
for (let count = 0; count < allItems.length; count )
uj5u.com熱心網友回復:
原因是標題未定義。這可能是因為在您的代碼中沒有正確復制標題,或者是因為您將陣列遍歷到了 outOfBounds,其中標題不可訪問且未定義。
修復這部分:
for (let count = 0; count < allItems.length; count ) {
let titleOfItem = allItems[count].title
if (titleOfItem.includes(keyword)) {
console.log(titleOfItem ' fizz')
} else {
console.log(titleOfItem ' buzz')
}
}
應該這樣做,但如果不是,請檢查 allItems 的值以查看它是否始終具有屬性
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/385765.html
標籤:javascript html 数组 排序 搜索
