JS Noob:使用JavaScript'对于循环'将变量与数据库匹配
JS Noob: use JavaScript 'for loop' to match a variable to a database
标题很好地解释了这一点,但我正试图构建一个"for循环",将变量(在本例中,由HTML5表单获得的变量)与2列数据库中单元格中的值相匹配。然后我想"console.log"相邻(下一列)单元格中的值。
寻找编码帮助和任何关于哪种类型的数据库最适合这种类型的安排的建议。
var myDB = {AA:100, BB:50, CC:75, DD:66, EE:40};
function DB(value) {
return myDB[value];
}
console.log(DB('AA'));
似乎最好的方法是使用这样的数据结构:
var myDB = {
'key1' : 'value1'
}
这将消除您计划使用的"for循环"的需要,这是非常低效的,并且将使您能够使用这样的简单索引检查:
function getValue( index ) {
if( typeof myDB[index] == 'undefined' ) return false;
return myDB[index];
}
如果你需要能够在任何一个索引上搜索,那么你需要制作一个稍微复杂一点的数据库布局(我假设你的"数据库"实际上只是javascript数据,因为你想console.log数据。
如果您希望在服务器端数据库中执行此操作并返回数据,则需要AJAX功能和服务器端API将这些AJAX请求发布到JSON并以JSON形式返回数据。这比我上面建议的稍微复杂一些。
更新:
如果您想"搜索"数据库值并找到匹配的关键字,您可能必须在myDB对象上运行for循环,或者通过为每个关键字和数据分别设置一个单独的对象来稍微不同地构建数据库。类似这样的东西:
var myDB = {
'key1' : {
'value1':0,
'value2':1
},
'key2' : {
'value1':0,
'value2':1
},
'data' : {
0:'data_for_record_1',
1:'data_for_record_2'
}
}
现在,您可以在任意一个索引列上进行"搜索",并获得与匹配列对应的数据行的ID。这种数据结构与MySQL等大多数数据库中使用索引的方式非常相似。所以你的"搜索"功能可能看起来像这样:
function searchDB( index , value ) {
if( typeof myDB[index][value] == 'undefined' ) return false;
if( typeof myDB.data[myDB[index][value]] == 'undefined' ) return false;
return myDB.data[myDB[index][value]];
}
相关文章:
- 如何在Javascript函数调用中循环变量
- Jquery-每个循环不更新变量
- 如何将while循环中生成的值存储到变量中,以便以后在JQuery中使用
- 如何在AngularJS-ng重复循环中将长JSON路径缩短为变量
- 在javascript函数的循环中设置全局布尔变量的最佳语法
- 使用javascript使用for循环声明变量
- Coffeescription:循环中的条件变量未正确声明
- 当JSON数据=变量时,需要执行循环
- Javascript'数组'和'循环'如何“;变量[i]”;是一个条件
- for 循环和 if 语句,获取变量并存储它
- JavaScript-用for循环项声明变量
- 将值添加到相同的变量循环jQuery中
- 在JSON变量循环中获取最近5年的日期
- Javascript变量循环
- 使用Google Maps v3中的一个变量(循环、闭包)将事件侦听器附加到一组标记上
- 动态变量循环
- 使用变量&循环创建"onclick"功能
- 以选择器作为变量循环.append()
- 使用webaudioapi和jquery的变量+循环
- 倒计时变量循环和显示数组