Машинописный текст: массив объектов другого массива (Angular6) - PullRequest
0 голосов
/ 08 сентября 2018

У меня есть этот массив "еды":

"food": [
 { 
    "id": 11,
    "name": "Kabeljaufilet",
    "preis": 3.55,
    "art": "mit Fisch"
},
{
  "id": 12,
  "name": "Spaghetti Bolognese",
  "preis": 3.85,
  "art": "mit Fleisch"
},
{
  "id": 13,
  "name": "Pizza Salami",
  "preis": 3.99,
  "art": "mit Fleisch"
},

Теперь мне нужен еще один массив под названием «foodplan», куда я могу добавлять, удалять и т. Д. продукты из первого массива.

Я никогда не создавал массивы, в которых были реализованы объекты других массивов. Как идти дальше?

Foodplan нужны атрибуты: FoodPerWeek , где находятся 5 объектов питания, а WeekNumber Foodplan нужны методы для отображения Food, addFood, changeFood и deleteFood.

1 Ответ

0 голосов
/ 08 сентября 2018

Это просто базовый пример. Конечно, вы можете динамически изменить размер массива, если хотите. Должны быть некоторые проверки для подтверждения ввода и т. Д. Я оставляю это вам. Веселитесь.

enum WeekDay {
  Monday = 0,
  Tuesday = 1,
  Wednesday = 2,
  Thursday = 3,
  Friday = 4
}

class Food {
  public id: number
  public name: string
  public preis: number
  public art: string
}

class FoodPlan {
  private weeklyFood: Food[] = new Array<>(5)

  addFood(food: Food, weekDay: WeekDay) {
    this.weeklyFood[weekDay] = food
  }

  showFood(weekDay: WeekDay) {
    console.log(this.weeklyFood[weekDay])
  }

  remove(weekDay: WeekDay) {
    this.weeklyFood[weekDay] = null
  }
}
let foodPlan: FoodPlan = new FoodPlan()
let firstFood: Food = new Food()

firstFood.id = 1
firstFood.name = "Kabeljaufilet"
firstFood.preis = 3.55
firstFood.art = "mit Fisch"

foodPlan.addFood(firstFood, WeekDay.Wednesday)
foodPlan.showFood(WeekDay.Wednesday)
foodPlan.remove(WeekDay.Wednesday)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...