我有一个手工输入的数据库,其中的对象包含每个类别的类别和单词列表,如下所示:
var words =
{
sports: [
'baseball', 'football', 'volleyball', 'basketball', 'soccer'],
animals: [
'dog', 'cat', 'elephant', 'crocodile', 'bird'],
entertainment: [
'netflix', 'movies', 'music', 'concert', 'band', 'computer']
}
我的HTML有一个引导下拉列表,它将根据该列表显示所有类别。我有代码工作,给我点击作为字符串的类别的值:如下所示:
$(document).on('click', '.dropdown-menu li a', function () {
var selectedCategory;
selectedCategory = $(this).text();
//setting value of category to global variable
categorySelected = selectedCategory;
});
我需要能够从该值中找到数据库中的密钥。 问题是我无法访问单词。“动物” 我需要从我的字符串中取引号来获取这样的单词列表: words.animals
我该怎么做?我尝试过replace()但它不起作用。
答案 0 :(得分:0)
您似乎正在尝试访问与public static void nJSON(String username ) {
File file = new File("src/jsonFiles/" + username + ".json");
if (file.isDirectory()) {
System.err.println(username + ".json exist and is a directory.");
return;
}
if(!file.getParentFile().exists() && !file.getParentFile().mkdirs()) {
System.err.println("Failed to create directory " + file.getParent());
return;
}
FileWriter writer = null;
try{
json.put("Username", username);
json.put("Password", mainFiles.windowsSrc.UserInfo.password);
writer = new FileWriter(file);
writer.write(json.toJSONString());
writer.close();
System.out.println(username + ".json created.");
} catch(IOException e){
e.printStackTrace();
} finally {
if(writer != null) {
try {
writer.close();
} catch(IOException ignore) { }
}
}
}
对象中的类别对应的值列表。键可以是字符串,因此words
将是获取动物列表的示例。
JavaScript允许将变量用作键,因此您可以按如下方式访问它:
words['animals']
答案 1 :(得分:0)
您可以将文本(从下拉列表中选择的值)传递给函数以查找密钥
var words = {
sports: [
'baseball', 'football', 'volleyball', 'basketball', 'soccer'
],
animals: [
'dog', 'cat', 'elephant', 'crocodile', 'bird'
],
entertainment: [
'netflix', 'movies', 'music', 'concert', 'band', 'computer'
]
}
// function to find the key
function findKey(selText) {
//loop through the object
for (var keys in words) {
//get the array
var getArray = words[keys]
//inside each array check if the selected text is present using index of
if (getArray.indexOf(selText) !== -1) {
console.log(keys)
}
}
}
findKey('music')