javascript - 为数组的 JavaScript 树创建 forEach 语句
问题描述
解决方案
Based on the updated database format in your question, you could achieve basic search based on something like this:
var SampleArray = [{
"Food" : [ "banana", "Strawberry", "grapes" ],
"Vegitables" : [ "Carrot", "Peppers" ],
"Words" : [ "hello", "Goodbye", "Grapes" ],
"Adjectives" : [ "Good", "First" ]
}]
function searchDatabase(query) {
// For each object in array
for(var object of SampleArray) {
// Get list values of object
var lists = Object.values(object)
// For each list of object
for(var list of lists) {
// For each item of list
for(var item of list) {
// Look for item matching query. Locally convert to lower case to
// avoid case sensitivity issues
if(item.toLowerCase().indexOf(query.toLowerCase()) !== -1) {
return object
}
}
}
}
}
console.log('search for good', searchDatabase('good') ? 'found' : 'not found')
console.log('search for bad', searchDatabase('bad') ? 'found' : 'not found')
推荐阅读
- c# - 在 WPF/Wix 中配置多个环境
- python - 条件多元 KDE 有多个最大值和最小值
- powershell - PowerShell 错误记录的“InvocationInfo”为空/不正确
- json - 如何将文本节点转换为对象节点以添加子节点
- java - 使用 Logger.getGlobal() 与 tomcat9 和 org.apache.logging.log4j.jul.LogManager - log4j 配置被忽略
- c++ - 代码块中的 CPP graphics.h
- python - 如何使用 Python 的 smpplib 同时向多个号码发送短信
- ms-access - 在 Access 中插入“日”列
- date - 在雪花中,如何将一种日期格式转换为另一种格式。从 YYYYMMDD 到 YYYY-MON-DD
- c++ - 如何使用 CMake 无缝构建?