W zadaniu mam przefiltrować tablicę i wyświetlić kanały premium dla użytkownika jeśli sam posiada status premium.
Dlaczego dla premiumChannels:function(){ dostaję tablice z dwoma elementami czyli tak jak powinno być a dla premiumChannels:() => { jako output dostaje pustą tablicę?
Cały kod:
const channel = [
{name:'HBO',premium:true},
{name:'LIFE',premium:false},
{name:'Max',premium:true},
{name:'Cooking channel',premium:false},
{name:'WOBI',premium:false}
];
const user = {
name:'Francis',
premium:true,
premiumChannels:function(){
const $this = this;
return channel.filter((item) =>{
return item.premium && $this.premium})
},
// const user = {
// name:'Francis',
// premium:true,
// premiumChannels:() => {
// const $this = this;
// return channel.filter((item) =>{
// return item.premium && $this.premium})
// },
channels:channel.filter((item) => {
return item.premium == false;
}),
}
console.log(user.premiumChannels())
// array z HBO and MAX
console.log(user.channels)
// array z LIFE, COOCKING CHANNEL i WOBI