如何创建在数组中查找匹配数据的搜索
How do I create a search which looks for matching data in an array?
我想创建一个搜索框,检查输入并查看它是否与城镇名称匹配。
我的数据是这样组织的(顺便说一句,虚构的数据):
var markers = {
towns: {
"London": {lat: -83.68088192646843, lng: -125.270751953125},
"Paris": {lat: -58.1548020417031, lng: -21.318115234375},
}
}
所以澄清一下:
- 获取文本框输入,
var query
- 搜索城镇,
var results
-
if (query === results)
做某事,例如发出警报
谢谢。
编辑:
我已经能够进行如下测试:
$("#search").blur(function() {
var query = $("#search").val();
var results = "hi";
if (query === results) {
alert("booyah");
}
})
这有效,但是如您所见,我不知道如何将城镇存储在var results
中。
编辑#2:这行得通吗?
$("#search").blur(function() {
var query = $("#search").val();
for (var town in markers.towns) {
if (query !== markers.towns[town]) {
alert("booyah");
}
}
})
首先
,你的对象不是一个数组。这种情况可能很简单:
var coordinates = (function () {
var markers = {
towns: {
"London": {lat: -83.68088192646843, lng: -125.270751953125},
"Paris": {lat: -58.1548020417031, lng: -21.318115234375},
}
};
return {
find = function (city) {
markers.towns[city] || null;
}
};
})();
Find 方法将返回值对象或 null。
当我使用硬编码的查询变量运行以下内容时,它工作正常:
var markers = {
towns: {
"London": {lat: -83.68088192646843, lng: -125.270751953125},
"Paris": {lat: -58.1548020417031, lng: -21.318115234375}
}
}
var query = "london"; // Test with different capitalization.
for (var town in markers.towns) {
// If the current town name matches the input field (case insensitive)
if (town.toLowerCase() === query.toLowerCase()) {
alert("booyah");
}
}
相关文章:
- 查找AJAX获取和发布时使用的网络数据的obsolute或可能的估计值
- 查找所有TD标签并读取其数据属性
- 如何使用 Java 脚本从 csv 文件中查找每列的数据类型
- 在与 IE8 兼容的文档片段中查找数据
- Mongodb,通过具有多个条件的_id快速查找数据
- 在数组数组中查找表数据存储
- 查找具有特定数据属性jQuery的元素
- 提高字典查找大量数据的性能
- 如何查找所选HTML选项的所有数据属性
- 使用jQuery,如何在元素上或元素内查找数据属性?(树遍历)
- 在javascript中从css中查找数据
- 使用引导程序 3 模式对话框构建查找数据
- 如何从html中查找数据并使用jQuery进行存储
- d3查找数据类别的第一个条目
- ES6 -在嵌套数组中查找数据
- 在jquery中查找数据
- 迭代大量嵌套的javascript对象来查找数据
- 从HTML中查找数据值
- 如何在mongodb中从数组中查找数据
- 无法使用MS Dynamics CRM 2011中调用方表单的查找数据在实体表单上设置具有值的查找