我正在使用Java Script为移动设备创建一个Dictionary应用程序。我已将Dictionary源存储在一个单独的文件中。我怀疑的是如何访问该文件并使用Java Script搜索特定字符串。
function dic() {
var word = document.getElementById("wo").value;
var dictionary = new Array("Java","Python","Swift","HTML","PHP");
var flag = 0;
for(var i = 0; i < dictionary.length; i++) {
if(dictionary[i] == word) {
document.getElementById("result").innerHTML = "Element Found";
flag = 1;
break;
}
}
if(flag == 0)
document.getElementById("result").innerHTML = "Element Not Found";
}
此脚本检查数组中的单词。我想将数组字替换为文本文件。提前致谢
答案 0 :(得分:3)
要访问该文件,请使用jQuery的.get()
功能。这也可以在纯JS中使用XMLHttpRequests
完成,但jQuery将为您处理跨浏览器兼容性。
获取文件:
$.get("http://www.example.com/path/to/file.txt",function(returnedData) {
$("#element").text(returnedData);
},"text/plain");
这会将http://www.example.com/path/to/file.txt的内容加载到ID为div
的{{1}}。假设每个字典单词都在一个新行上,您可以将它们分成如下数组:
element
现在您的数组中有字典单词,可以使用现有代码搜索它们(进行一些更正):
var text = $("#element").text();
var words = text.split("\n");
var dictionary = new Array();
for(var i=0; i < words.length; i++) {
dictionary[i] = words[i];
}
这应该给你一个正确的答案。
希望这有帮助。
修改强>
我的第二个代码示例中的部分代码是不必要的,只是为了清楚起见;事实上,您可以只声明function dic() {
var word = document.getElementById("wo").value;
// var dictionary = new Array("Java","Python","Swift","HTML","PHP");
// This line is unnecessary; use the dictionary var already created.
var flag = 0;
for(var i = 0; i < dictionary.length; i++) {
if(dictionary[i] == word) {
document.getElementById("result").innerHTML = "Element Found";
flag = 1;
break;
}
if(i == dictionary.length - 1) {
document.getElementById("result").innerHTML = "Element Not Found";
}
}
}
,这将产生相同的结果。