Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript数据库关联_Javascript_Database_Correlation - Fatal编程技术网

JavaScript数据库关联

JavaScript数据库关联,javascript,database,correlation,Javascript,Database,Correlation,我一直在尝试在用户选择的答案和对象属性名称之间“关联”,以便如果两者匹配,那么它将显示其中的内容 我的程序是一个配方查找程序,它返回一个由用户选择的成分组成的配方。 我的代码当前看起来像: //属性是成分,值是包含这些成分的配方。地图将自动生成 ``var map = { "pork" : [recipe1, recipe2, ...], "beef" : [], "chicken" :[], } //这将从dom中获取用户选择 var cucumber = speci

我一直在尝试在用户选择的答案和对象属性名称之间“关联”,以便如果两者匹配,那么它将显示其中的内容

我的程序是一个配方查找程序,它返回一个由用户选择的成分组成的配方。 我的代码当前看起来像:

//属性是成分,值是包含这些成分的配方。地图将自动生成

 ``var map  =   {
"pork" : [recipe1, recipe2, ...],
    "beef" : [],
    "chicken" :[],
}
//这将从dom中获取用户选择

var cucumber = specificVegetable[7];
var lemon = specificFruits[0];
//然后此代码查找配方的交叉点(使用多种成分的配方)

//我被困在这里了

function check(){

    var both = intersect(recipiesWithLemon, recipiesWithCucumber);
    if ( cucumber.checked && lemon.checked){
        for (var stuff in map){
            if(stuff="cucumber" &&  stuff="lemon"){
                return both;
            }
        }
    }


}
check();
所以基本上我试着做的是我做了一个交集,然后如果用户选择的是柠檬和黄瓜,那么看看地图对象中的属性。如果属性的名称等于确切的字符串,则返回两者。这是计划,但代码不起作用,我不知道如何修复它

我的计划是为用户可能做出的每个可能的结果编写代码,因此我需要找到用户选择和存储配方的地图之间的相关性。我意识到这不是最有效的方法,但我很难找到另一种方法


谢谢你的帮助。

我正在使用开源项目来简化这个过程。 我还将您的映射更改为JSON对象数组。如果您必须让map对象不作为数组,请告诉我。我将更改示例代码

var映射=[
{“猪肉”:['recipe1','recipe2']},
{“牛肉”:['recipe3','recipe4']},
{“peach”:['recipe5','recipe6']},
{“胡萝卜”:['recipe7','recipe8']}
];
变量selectedFruit=‘peach’;
var selectedvegie=‘胡萝卜’;
变量选择=[SelectedFrient,selectedVeggie];
var result=jinqJs().from(map).where(函数(行){
for(第行中的var f){
if(选择项索引of(f)>-1)
返回true;
}
返回false;
}).select();
document.body.innerHTML+=''+JSON.stringify(结果,null,2)+'

'
谢谢你的回答,但我只能真正理解javascript
function check(){

    var both = intersect(recipiesWithLemon, recipiesWithCucumber);
    if ( cucumber.checked && lemon.checked){
        for (var stuff in map){
            if(stuff="cucumber" &&  stuff="lemon"){
                return both;
            }
        }
    }


}
check();