Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将对象存储在数组中_Javascript_Arrays_Object - Fatal编程技术网

Javascript 将对象存储在数组中

Javascript 将对象存储在数组中,javascript,arrays,object,Javascript,Arrays,Object,试图建立一个购买电影票的网站,并将其存储在一个数组中,同时在屏幕上显示它们,但我不明白为什么它不制作一个数组。当我尝试订购第二个订单时,它会覆盖旧对象 JS代码: function test() { const billett = []; let valgtFilm = document.getElementById("film").value; let antall = document.getElementById("antall").v

试图建立一个购买电影票的网站,并将其存储在一个数组中,同时在屏幕上显示它们,但我不明白为什么它不制作一个数组。当我尝试订购第二个订单时,它会覆盖旧对象

JS代码:

function test() {
  const billett = [];

  let valgtFilm = document.getElementById("film").value;
  let antall = document.getElementById("antall").value;
  let fornavn = document.getElementById("forNavn").value;
  let etternavn = document.getElementById("etterNavn").value;
  let telefon = document.getElementById("telefornr").value;
  let epost = document.getElementById("epost").value;
  let tall = Number(antall);
  let telefonnr = Number(telefon);

  let ut = "<table><tr>" +
    "<th>Film</th><th>antall</th><th>Navn</th><th>Etternavn</th><th>Telefonnr</th><th>Epost</th>" +
    "</tr>";


  if (valgtFilm === "non") {
    alert("Feil1");
  }
  if (tall <= 0) {
    alert("Feil2");
  }
  if (fornavn === "") {
    alert("Feil3");
  }
  if (etternavn === "") {
    alert("Feil4");
  }
  if (isNaN(telefonnr) || telefon === "") {
    alert("Feil5");
  }
  if (epost === "") {
    alert("Feil6");
  } else {
    const nyBillett = {
      film: valgtFilm,
      antall: tall,
      navn: fornavn,
      etternavn: etternavn,
      tlf: telefonnr,
      epost: epost,
    }
    billett.push(nyBillett);
    for (let b of billett) {

      ut += "<tr>";
      ut += "<td>" + b.film + "</td><td>" + b.antall + "</td><td>" + b.navn + "</td><td>" + b.etternavn + "</td><td>" + b.tlf + "</td><td>" + b.epost + "</td>";
      ut += "</tr></br>";

      document.getElementById("feil").innerHTML = ut;

      //fjerner verdier
      document.getElementById("film").value = 'Velg film her';
      document.getElementById("antall").value = "";
      document.getElementById("forNavn").value = "";
      document.getElementById("etterNavn").value = "";
      document.getElementById("telefornr").value = "";
      document.getElementById("epost").value = "";
    }
  }
}
功能测试(){
常量billett=[];
让valgtFilm=document.getElementById(“film”).value;
让antall=document.getElementById(“antall”).value;
设fornavn=document.getElementById(“fornavn”).value;
让etternavn=document.getElementById(“etternavn”).value;
设telefon=document.getElementById(“telefornr”).value;
让epost=document.getElementById(“epost”).value;
让高=数字(全部);
设telefonnr=数字(telefon);
let ut=“”+
“FilmantalNavNetternavTelefonnRepost”+
"";
如果(valgtFilm==“非”){
警报(“Feil1”);
}

如果每次调用函数
test
时都创建一个新数组。新数组不包含推送到旧数组的对象

在函数外部声明数组

let billett = [];

function test() {
  ....

  billett.push(nyBillett);

  ....
}

每次调用函数
test
时,都会创建一个新数组。新数组不包含推送到旧数组的对象

在函数外部声明数组

let billett = [];

function test() {
  ....

  billett.push(nyBillett);

  ....
}

请单击编辑,然后单击
[]
代码段编辑器并提供
文档.getElementById(“feil”).innerHTML+=ut;
但缺少
常量billett=[];
请单击编辑,然后单击
[]
代码段编辑器并提供
文档.getElementById(“feil”).innerHTML+=ut;
但是您缺少了一个
const billett=[];
啊哈…谢谢!没有注意到。它现在可以工作了:D!啊哈…谢谢!没有注意到。它现在可以工作了:D!