首页 > 解决方案 > 做数组练习的问题。初学者里面

问题描述

我正在学习 Javascript,我的数组有问题Javascript,我必须做一个class名为TV Show的标题、主题和演员(带有数组的演员)然后,我必须做一个函数来抓取特定的演员并分类它随机作为“最喜欢的”。

完成后,我得到一个“空”数组。

这是我的代码。

class TVShow {
    constructor (title, thematic, principalActors){
        var arrayActors = new Array();
        this.title=title;
        this.thematic=thematic;
        principalActors=[];
    
        this.generateFavActor = function(){
            var long = principalActors.lenght;
            let calc = Math.floor(Math.random()*(long));
            arrayActors = principalActors[calc];
        }
        console.log(arrayActors);
    }
}
var show01= new TVShow("The Revolution", "Accion",["Hello","Hello2"]);
show01.generateFavActor();

var show02 = new TVShow("Peaky Blinders", "Drama",["Hello","Hello2", "Hello3"] );
show02.generateFavActor();

var show03 = new TVShow ("Stranger Things", "Accion", ["Hello","Hello2", "Hello3", "Hello4"]); 
show03.generateFavActor();

谢谢!!

标签: javascriptarrays

解决方案


那 ?(使用解构赋值

class TVShow
  {
  constructor (title, thematic, principalActors)
    {
    this.title    = title
    this.thematic = thematic
    this.actors   = [...principalActors]
    }
  generateFavActor()
    {
    console.log( this.actors[ Math.floor(Math.random()*this.actors.length ) ])
    }
  }
var show01 = new TVShow('The Revolution',  'Accion', ['Hello','Hello2'])
  , show02 = new TVShow('Peaky Blinders',  'Drama',  ['Hello','Hello2', 'Hello3'] )
  , show03 = new TVShow('Stranger Things', 'Accion', ['Hello','Hello2', 'Hello3', 'Hello4'])
  ;
show01.generateFavActor()
show02.generateFavActor()
show03.generateFavActor()


推荐阅读