如何通过提示保存数组的数据并绑定class in javascript

How to save the data of an array by prompts and bond with a class in javascript

通过提示保存在数组中的数据就像我做的那样link它用class并用方法显示它(console.log(信息())

class Libro {

   constructor(titulo, autor, año, genero) {

      this.titulo = titulo
      this.Autor = autor
      this.Año = año
      this.Genero = genero
   }

   informacion() {
      return console.log(`El libro ${this.titulo} del autor ${this.Autor} fue publicado en el año ${this.Año} y es de genero ${this.Genero}`);
   }
}

let titulo1 = prompt('Introduce el titulo del libro')
let autor1 = prompt('Introduce el autor del libro')
let año1 = prompt('Introduce el año en que fue publicado el libro')
let genero1 = prompt('Introduce el genero literario del libro')

let libro1 = [titulo1, autor1, año1, genero1];

libro1.push(new Libro(titulo, autor, año, genero))

console.log(libro1.informacion());

Class 标识符引用 class 构造函数。

替换

let libro1 = [titulo1, autor1, año1, genero1];

libro1.push(new Libro(titulo, autor, año, genero))

console.log(libro1.Libro());

let libro1 = new Libro(titulo, autor, año, genero)
libro1.informacion()   // call the informacion method of libro1

其中创建一个class实例对象,赋值给libro1,然后调用libro1informacion方法。

如果您想要一组书籍对象,可以将 libro1(和其他书籍)保存在一个数组中:

const libri = [];
...  // create libro1
libri.push(libro1);
...  // create libro2
libri.push( libro2);

要创建多本书,请尝试将提示放在 returns 一个 Libro class 对象的函数中。这样所有的书都使用相同的提示集。


作为对评论的回应,informacion 方法已经调用了 console.log 和 returns undefined 如果那是 console.log returns。返回信息字符串可能更适合您的目的:

informacion() {
      return `El libro ${this.titulo} del autor ${this.Autor} fue publicado en el año ${this.Año} y es de genero ${this.Genero}`;
   }

如果将提示的结果保存在数组中,如

let arr = [titulo, Autor, Año, Genaro];

您可以使用 rest parameter syntax:

将它们传递给构造函数
let libro = new Libro( ...arr );