[英]How to extract keys and values from a dict and store them in an variable using javascript
I have a dictionary like: 我有一个字典,如:
db_dict={'Col1': ['1', '2', '3', '4'], 'Col2': ['2', '4', '6'], ...}
I want to make a string like this: 我想制作一个这样的字符串:
var simpleQuery = "col1={'1', '2', '3', '4'}&col2={'2', '4', '6'}"
So far I've tried this: 到目前为止,我试过这个:
function getdbdict() {
{ %
for key, values in dbdict.items %
}
var col = '{{key}}';
var val = '{{values}}';
var colval = col + '=' + '{' + '"' + val + '"' + '}'; { % endfor %
}
var simpleQuery = colval
I am a newbie, Please help me doing this. 我是新手,请帮我这样做。
This'll do it: 这样做:
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'}
Your sample took the original object's key names and made them lowercase in simpleQuery
, so I've done the same; 你的样本采用了原始对象的键名,并在simpleQuery
中将它们设置为小写,所以我也做了同样的事情。 obviously you can just remove the .toLowerCase()
if that isn't needed. 很明显,如果不需要,你可以删除.toLowerCase()
。
Demo: http://jsfiddle.net/8rZHF/2/ 演示: http : //jsfiddle.net/8rZHF/2/
You can try the following 您可以尝试以下方法
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);
You can see it in action here 你可以在这里看到它
I am sure it can be refactored but it is just to give you an idea. 我相信它可以被重构,但它只是给你一个想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.