JS Noob:使用JavaScript'对于循环'将变量与数据库匹配

JS Noob: use JavaScript 'for loop' to match a variable to a database

本文关键字:变量 循环 数据库 于循环 使用 Noob JavaScript JS      更新时间:2023-09-26

标题很好地解释了这一点,但我正试图构建一个"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]];
}