首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的处理数组的方法在ECMA6的类中不起作用

为什么我的处理数组的方法在ECMA6的类中不起作用
EN

Stack Overflow用户
提问于 2018-06-04 01:58:35
回答 1查看 34关注 0票数 0
  1. 用于删除名为"deleteProductByName“的产品的方法不起作用
  2. 返回所有已创建产品的名称的方法"getAllProductNames”不起作用
  3. 返回所有产品的总成本的方法"get totalProductsPrice“它应该作为"getter”起作用帮助请修复这些方法

代码语言:javascript
运行
复制
class Product {
    constructor(name, count, price) {
        this.name = name;
        this.count = count;
        this.price = price;
    }
}
class Shop extends Product {
    constructor(products) {
        super();
        this.products = [];
    }

    addProduct(newProduct) {
        this.products.push(newProduct);
    }

    deleteProductByName(productName) {
        let i = this.products.length;
        while (i--) {
            if (productName in this.products[i]) {
                this.products.splice(i, 1);
            }
        }
    }

    getAllProductNames() {
        return this.products.map(object => Object.values(object)[0].name);
    }

    get totalProductsPrice() {
        return this.products.map(object => Object.values(object)[0].price).
        reduce((p, c) => p + c);
    }
}
const shop = new Shop();
shop.addProduct(new Product("product 1", 1, 200));
shop.addProduct(new Product("product 1", 1, 500));
shop.addProduct(new Product("product 2", 2, 1000));

console.log(shop.totalProductsPrice);
console.log(shop.getAllProductNames());
shop.deleteProductByName("product 2");
console.log(shop.products);

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50669392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档