我有一组数据库和一些其他药物名称数组。
当我想访问rivotrilmedi
数组时,我在控制台中收到未定义的消息
我如何访问这个数组?
这是代码
var database = [];
var panadolmedi = ['panadol', 'panadol', 'panadol', 'panadol', 'panadol', 'panadol', 'panadol'];
var favrinemedi = ['Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine'];
var Rivotrilmedi = ['Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril'];
database.push(panadolmedi);
database.push(favrinemedi);
database.push(Rivotrilmedi);
console.log("this is my medi", database);
for (var i = 0; i < database.length; i++) {
console.log("this is rivotril", database.Rivotrilmedi);
}
function search() {
var searchmedi = document.getElementById("n1").value;
var medilist = " ";
for (var i = 0; i < database.length; i++) {
if (database[i] == searchmedi) {
medilist += '<li>' + database[i] + " ::" + "</li>";
document.getElementById("result").innerHTML = medilist;
} else {
document.getElementById("result").innerHTML = "Medicine not found";
}
}
}
<input type="text" id="n1" value="Rivotrilmedi" />
<div id="result"></div>
答案 0 :(得分:1)
database.Rivotrilmedi
=&gt; dot(.)
表示法用于访问对象的属性,而不是数组元素。您需要使用索引来实现这一点 -
var database=[];
var panadolmedi=['panadol','panadol','panadol','panadol','panadol','panadol','panadol'];
var favrinemedi=['Favrine','Favrine','Favrine','Favrine','Favrine','Favrine','Favrine','Favrine','Favrine','Favrine'];
var Rivotrilmedi=['Rivotril','Rivotril','Rivotril','Rivotril','Rivotril','Rivotril','Rivotril','Rivotril','Rivotril'];
database.push(panadolmedi);
database.push(favrinemedi);
database.push(Rivotrilmedi);
console.log("this is my medi",database);
console.log("this is rivotril",database[2]);
P.S 如果您想使用dot
表示法,则需要创建此类属性
var database={};
var panadolmedi=['panadol','panadol','panadol','panadol','panadol','panadol','panadol'];
var favrinemedi=['Favrine','Favrine','Favrine','Favrine','Favrine','Favrine','Favrine','Favrine','Favrine','Favrine'];
var Rivotrilmedi=['Rivotril','Rivotril','Rivotril','Rivotril','Rivotril','Rivotril','Rivotril','Rivotril','Rivotril'];
database.panadolmedi = panadolmedi;
database.favrinemedi = favrinemedi;
database.Rivotrilmedi = Rivotrilmedi;
console.log("this is my medi",database);
console.log("this is rivotril",database.Rivotrilmedi);
答案 1 :(得分:0)
您无法访问database.Rivotrilmedi
,因为database
变量是一个数组而且没有这样的属性,您必须通过索引访问它:
var database = [];
var panadolmedi = ['panadol', 'panadol', 'panadol', 'panadol', 'panadol', 'panadol', 'panadol'];
var favrinemedi = ['Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine'];
var Rivotrilmedi = ['Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril'];
database.push(panadolmedi);
database.push(favrinemedi);
database.push(Rivotrilmedi);
console.log("this is my medi", database);
for (var i = 0; i < database.length; i++) {
console.log("this is rivotril", database[i]);
}
&#13;
答案 2 :(得分:0)
你需要访问Rivotrilmedi:
database[2]
Rivotrilmedi是一个与&#34;数据库分开的变量&#34;阵列。
答案 3 :(得分:0)
我认为你打算这样做:
var database = {
panadolmedi : ['panadol', 'panadol', 'panadol', 'panadol', 'panadol', 'panadol', 'panadol'],
favrinemedi : ['Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine', 'Favrine'],
Rivotrilmedi : ['Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril', 'Rivotril']
}
console.log("this is my medi", database);
console.log("this is rivotril", database.Rivotrilmedi);
function search() {
var searchmedi = document.getElementById("n1").value;
var db = database[searchmedi];
var res = document.getElementById("result");
var lis = [];
if (db) {
res.innerHTML='<li>'+db.join("</li><li>")+"</li>";
}
else {
res.innerHTML = "Medicine not found";
}
}
<input type="text" id="n1" value="Rivotrilmedi" /><button type="button" onclick="search()">Search</button>
<ul id="result"></ul>