zoukankan      html  css  js  c++  java
  • Vuejs购物车案例

    Vuejs购物车案例

    一、购物车案例

    能够增加购物车中商品的数量和移除商品

    1.1关键代码截图

    1.2关于for循环

    1.2.1 普通的for循环

    let total=0;
    for(let i=0;i<this.books.length;i++){
        total+=this.books[i].price*this.books[i].num;
    }
    return total;           
    

    1.2.2 for(let i in this.books)

    let total=0;
    for(let i in this.books){
        const book=this.books[i];
        total+=book.price*book.num;
    }
    return total;
    

    1.2.3 for(let item of this.books)

    let total=0;
    for(let item of this.books){
        total+=item.price*item.num;
    }
    return total;
    

    1.2.4 高阶函数

    return this.books.reduce(function(preValue,book){
          return preValue+book.price*book.num;
    },0)
    

    二、高阶函数

    2.1 普通做法

    const num=[10,20,30,100,200,40]
     //1.取出所有小于100的数字
    let newNumber1=[];
    for(let i of num){
        if(i<100){
            newNumber1.push(i);
        }
    }
    //2.将所有小于100的数字进行转化,全部乘以2
    let newNumber2=[];
    for(let i of newNumber1){
        newNumber2.push(i*2);
    }
    //3.将第二步的数据进行累加
    let total;
    for(let i of newNumber2){
        total+=i
    }
    

    2.2 高阶函数做法

    //1.filter函数,返回一个Boolean值
    //true:当返回true时,函数内部会自动将这次回调的n加入到新的数组中
    //false:当返回false时,函数内部会过滤掉这次的n
    let newNumber1=num.filter(function(n){
        return n<100;
    })
    //2.map函数
    let newNumber2=newNumber1.map(function(n){
        return n*2;
    })
    //3.reduce函数,有两个参数,第一个参数为函数,第二个参数为初始值
    newNumber2.reduce(function(preValue,n){
        return preValue+n;
    },0)
    

    2.3 高阶函数简写

    let total=num.filter(function(n){
        return n<100;
    }).map(function(n){
        return n*2;
    }).reduce(function(preValue,n){
        return preValue+n;
    },0)
    
    let total=num.filter(n => n<100).map(n => n*2).reduce((preValue,n) => preValue+n )
    
  • 相关阅读:
    dreamvc框架(一)ioc容器的集成
    1040. Longest Symmetric String (25)
    虚指针存在证明及虚函数表
    Kibana中doc与search策略的区别
    AngularJS API之bootstrap启动
    AngularJS 技术总结
    Elasticsearch Javascript API增删改查
    AngularJS 中的Promise --- $q服务详解
    Ruby编程实践
    Ruby测试小代码[计算50以内的素数]
  • 原文地址:https://www.cnblogs.com/hyj-/p/13687088.html
Copyright © 2011-2022 走看看