# Alchemy University 学习教程，JS第一大块：Data Storage (3)

By [andrecronje](https://paragraph.com/@nicholastse) · 2023-01-01

---

估值102亿融资5.45亿的Alchemy 项目，大学每周任务逐步开始。持有大学生早期卡的地址可以进入以下官网，开始大学生活：

这一期我们学习 Objects （对象）：

![](https://storage.googleapis.com/papyrus_images/074c19a09a4037f1671c85c04b3682cac07d8b22b61afc024582d45187688323.png)

1: Pizza Order （披萨订单）

查看要求，创建一个关于披萨订单的对象：

![](https://storage.googleapis.com/papyrus_images/0f63cb48a03aee4a639c509e6859a5745340f219938ecc06a629c4b1d58cbf56.png)

输入：( go to build 可以改成自己喜欢的句子)

    const order = {
        pizzas: 2,
        extraCheese: true,
        deliveryInstructions: "go to build"
    };
    
    module.exports = order;
    

点击运算。

2: How Many Pizzas

查看要求，需要算出披萨订单的数量：

![](https://storage.googleapis.com/papyrus_images/952a24cd57f261ef46e3ca3eb112619257314a389ce09db1ac4843ba9dc4519a.png)

输入：

    function numberOfPizzas(order) {
        return order.pizzas;
    }
    
    module.exports = numberOfPizzas;
    

点击运算。

3: Many Orders

查看要求，给定一组披萨订单，需要求出披萨订单的总和：

![](https://storage.googleapis.com/papyrus_images/540f9675be0d8ab30e8a94519ec7378fb3f68f90389f5936d164ca465a54229e.png)

输入：

    function numberOfPizzas(orders) {
        let s = 0;
        for(let i = 0; i < orders.length; i++) {
            s = s + orders[i].pizzas;
        } 
    
        return s;
    }
    
    module.exports = numberOfPizzas;
    

点击运行。

4: Typed Orders

查看要求，我们需要创建不同类型的订单：

![](https://storage.googleapis.com/papyrus_images/bd1ef48f60fd5129e3f0bf32ad663f7abccbee35942f5e7c6350f57cda419e6b.png)

输入：

    const ORDER_TYPES = {
        PIZZA: 0,
        SALAD: 1,
        FRIES: 2
    }
    
    module.exports = ORDER_TYPES;
    

点击运行。

5: Add By Type 按类型求和

查看要求，在多种订单，只找到披萨的订单并求总订单量：

![](https://storage.googleapis.com/papyrus_images/a765a3d26f4b2fd2ec11a9c2f1ded842a6d8c165e3b75a18297bc70fcf960dae.png)

在这里要注意，输入的是这个文件：

![](https://storage.googleapis.com/papyrus_images/e248a69b6c99982a6d6aa355df2b926e96dcde4c8ddab39d6521f51e534cdc8b.png)

输入：

    const ORDER_TYPES = require('./orderTypes');
    
    function numberOfPizzas(orders) {
        let s = 0;
    
        for(let i = 0; i < orders.length; i++) {
            if (orders[i].type === ORDER_TYPES.PIZZA) {
                s = s + orders[i].pizzas;
            }
        }
        return s;
    }
    
    module.exports = numberOfPizzas;
    

点击运行。

6: Object Keys 对象键

查看要求，给定一个对象，需要找到它对应的数量，如，披萨--5 ，找到的就是 5 。

![](https://storage.googleapis.com/papyrus_images/710bfffdcdb8efc674df9dd9db8c9abeef08218df6c2d4f1dd603117b6a9bfd3.png)

输入：

    function numberOfKeys(object) {
        let n = 0;
        for(let key in object) {
            n = n + 1;
        }
    
        return n;
    }
    
    module.exports = numberOfKeys;
    

点击运行。

7: Secret Key 秘钥

查看要求，需要删除掉秘钥：

![](https://storage.googleapis.com/papyrus_images/3f4803bb505a298ea1725dd654177a5709b4eab81916bfcbec460a4f86d4621d.png)

输入：

    function removeSecret(object) {
        delete object.secret
    }
    
    module.exports = removeSecret;
    

点击运行。

以上 JS的 Data Storage 一节已经完成，下一篇开始我们的练习 2 。

未完待续……

了解更多，请关注作者：[https://twitter.com/bitc2024](https://twitter.com/bitc2024)

---

*Originally published on [andrecronje](https://paragraph.com/@nicholastse/alchemy-university-js-data-storage-3)*
