gpt4 book ai didi

javascript - 将多个项目插入类实例内的数组中

转载 作者:行者123 更新时间:2023-11-29 16:34:14 26 4
gpt4 key购买 nike

我正在尝试构造 addTopping 方法,以便它可以将多个配料插入配料数组而不是一个。我不知道如何解决这个问题。我看过其他一些使用 .push.apply() 的帖子,但它在我的情况下不起作用,因为它创建了一个对象。

  class Pizza {

constructor(size, crust, stuffedcrust) {
this.size = size;
this.crust = crust;
this.stuffedcrust = stuffedcrust;
this.toppings = ["Cheese"];
}

addTopping(topping) {
this.toppings.push(topping);
}

removeTopping(topping) {
let index = this.toppings.indexOf(topping);
this.toppings.splice(index, 1);
}

}

let pizza1 = new Pizza("Medium", "thin", true);

pizza1.addTopping("Pepperoni", "Green Peppers", "Mushrooms");
console.log(pizza1);

pizza1.addTopping 目前只会添加第一项。

最佳答案

使用rest parameters收集数组中的所有 addToppings() 参数,以及 spread syntax将数组转换为 Array.push() 函数的参数:

class Pizza {

constructor(size, crust, stuffedcrust) {
this.size = size;
this.crust = crust;
this.stuffedcrust = stuffedcrust;
this.toppings = ["Cheese"];
}

addToppings(...toppings) { // rest
this.toppings.push(...toppings); // spread
}

removeTopping(topping) {
let index = this.toppings.indexOf(topping);
this.toppings.splice(index, 1);
}

}

let pizza1 = new Pizza("Medium", "thin", true);

pizza1.addToppings("Pepperoni", "Green Peppers", "Mushrooms");

console.log(pizza1);

关于javascript - 将多个项目插入类实例内的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52957788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com