如何使用javascript从dict中提取键和值并将它们存储在变量中

如何使用javascript从dict中提取键和值并将它们存储在变量中,javascript,dictionary,Javascript,Dictionary,我有一本字典,像: db_dict={'Col1': ['1', '2', '3', '4'], 'Col2': ['2', '4', '6'], ...} 我想制作一个如下的字符串: var simpleQuery = "col1={'1', '2', '3', '4'}&col2={'2', '4', '6'}" 到目前为止,我已经尝试过: function getdbdict() { { % for key, values in dbdict.items % } var

我有一本字典,像:

db_dict={'Col1': ['1', '2', '3', '4'], 'Col2': ['2', '4', '6'], ...}
我想制作一个如下的字符串:

var simpleQuery = "col1={'1', '2', '3', '4'}&col2={'2', '4', '6'}"
到目前为止,我已经尝试过:

function getdbdict() {
{ %
    for key, values in dbdict.items %
}
var col = '{{key}}';
var val = '{{values}}';
var colval = col + '=' + '{' + '"' + val + '"' + '}'; { % endfor %
}
var simpleQuery = colval
我是新手,请帮我做这件事。

这个就可以了:

var db_dict={'Col1': ['1', '2', '3', '4'], 'Col2': ['2', '4', '6']};

var workingArray = []
for (var key in db_dict) {
    if (db_dict[key].length > 0)
        workingArray.push(key.toLowerCase() + "={'" + db_dict[key].join("','") + "'}");
    else
        workingArray.push(key.toLowerCase() + "={}");
}

var simpleQuery = workingArray.join("&");

console.log(simpleQuery);  // col1={'1','2','3','4'}&col2={'2','4','6'} 
您的示例获取了原始对象的键名,并在
simpleQuery
中将它们改为小写,因此我也这样做了;显然,如果不需要,您可以删除
.toLowerCase()


演示:

您可以尝试以下方法

db_dict={'Col1': ['1', '2', '3', '4'], 'Col2': ['2', '4', '6']};
var str = "";
for(var key in db_dict){
  str +=key +"={";
  for(var i=0;i<db_dict[key].length; i++){
    str += db_dict[key][i];
    if(i != db_dict[key].length-1)
      str +=",";
  }
  str+="}";
  str+="&";
}
str = str.substring(0, str.length - 1);
db_dict={'Col1':['1','2','3','4'],'Col2':['2','4','6']};
var str=“”;
for(数据库中的var键){
str+=key+“={”;

对于(var i=0;i什么样的字典需要包含在
{}
中的数组?您需要什么帮助?您试过什么吗?@Blender:我试过:
函数getdbdict(){{%for key,dbdict.items%中的值}var col={{key}};var val={{values}“;var colval=col+'='+'{'+'''''+''''+''''''+'}';{%endfor%}var simpleQuery=colval
您已将问题标记为“javascript”,但
{%
stuff?顺便说一句,请不要在这样的评论中发布您的代码。我已将其复制到您的问题中,但请注意,您可以通过单击“编辑”来修改您的问题。