从数据库

时间:2018-02-20 16:13:34

标签: javascript

我有一组数据库和一些其他药物名称数组。

当我想访问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>

4 个答案:

答案 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变量是一个数组而且没有这样的属性,您必须通过索引访问它:

&#13;
&#13;
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;
&#13;
&#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>