如何读取JSON格式的对象并将其与用户输入的输入进行比较
How to read objects in JSON format & compare it to a user entered input?
我正在尝试制作一个应用程序,其中某些值以 JSON 格式存储,我想使用索引而不是硬编码来访问这些值。我的HTML文件和javascript是:
<html>
<head>
<title> My Dictionary </title>
<script type="text/javascript">
function search(){
var myDictionary =
{"Apple":
{"Meaning": "Fruit", "Category": "Sweet", "Pronounciation": "Apple"}
,
"Apples":
{"Meaning": "Fruit", "Category": "Sweet", "Pronounciation": "Apple"}}
};
var v= document.getElementById("search").value;
}
</script>
</head>
<body>
Enter your Text: <input type="text" id="search" name="search" />
<input type="button" value="search" onclick="search();" />
</body>
</html>
我想将用户输入的值与 JSON 格式的数据进行比较。例如。如果用户输入了"Apples",那么我如何使用数组中的值进行检查?
我不确定这是否是最有效的方法,但这是一种方法:您可以遍历 myDictionary
数组并使用typeof
和括号表示法的组合检查属性是否存在v
。下面是一个示例:
var result;
for (var i=0; i<myDictionary.length; i++)
{
if (typeof myDictionary[i][v] === "object")
{
result = myDictionary[i];
break;
}
}
我将你的myDictionary对象复制到我的控制台中,将v设置为"Apple",运行我的代码,结果成功包含Apple对象。需要注意的是,JavaScript 变量/属性区分大小写,因此如果用户输入"apple"而不是"Apple",您将不会得到结果。管理此问题的最简单方法是确保所有字典关键字都是小写的,并使用 v.toLowerCase()
。
让我知道您的想法,或者如果您有任何问题:)
相关文章:
- jQuery自定义验证比较多个输入的序列
- 比较jquery中的两个输入
- 比较两个输入字段
- 将两个隐藏输入与简单的 JavaScript 进行比较失败
- 比较两个输入值的 AngularJS 无法按预期工作
- 如何使用jquery数据比较两个前后输入值
- 关于如何将日期输入值与最小/最大日期范围进行比较的建议
- 使用jquery将输入值与数组值进行比较
- Switch语句比较用户输入的Javascript
- 使用new date()将数据与当前日期的MM/DD/YYYY格式的日期进行比较和筛选,同时从用户输入值中减去new d
- 表格报告-动态比较特定用户的输入日期和现有日期
- 使用jQuery验证和比较输入
- 将当前日期和时间与DateTime类型的输入进行比较
- 使用 jQuery 比较 2 个输入文件值
- 如何将输入值与对象文本中的引用值进行比较
- 如何在提交之前比较两个日期时间类型的输入
- 比较来自输入 AngularJS 的两个 JSON 对象
- 如何使用 jQuery 比较两个文本输入类型框值
- 使用 Jquery 比较每个数组索引的输入文本数组控件和选择选项数组控件的值
- JQuery/JS:渐进式循环通过数组显示图片序列,并从用户输入比较