vue中reduce属性的使用@3@

1.reduce方法

​ reduce方法的使用(数组方法): 遍历数组,求和

​ 语法:数组名.reduce((pre,current) => {},参数2)

​ pre:上次执行该方法的返回值

​ current:数据项

​ 实例代码:

javascript 复制代码
let shoppingCart = [
  {name: 'Vuejs入门', price: 99, count: 3},
  {name: 'Vuejs底层', price: 89, count: 1},
  {name: 'Vue从入门到放弃', price: 19, count: 5},
];

let totalPrice = shoppingCart.reduce((total, item) => {
  console.log(total,item.price) // 
  return total + item.price * item.count;
}, 0); // 初始值为0,表示从第一个元素开始累加

console.log(totalPrice); // 输出总价:481

// 第一个console.log打印的 0 99 
                          297 89 
                          386 19 

// 第二个console.log打印的 输出总价:481
2.Vue的计算属性

存放属性(以函数的形式)

当一个值受其他值影响的时候,就会将这个值写在计算属性当中

有效缓存效果:只执行一次

在Vue模板中,你可以将这个计算属性绑定到一个数据属性上,以便在页面上显示:

javascript 复制代码
<div id="app">
  <p>总价: {{ totalPrice }}</p>
</div>

<script>
  new Vue({
    el: '#app',
     {
      shoppingCart: [ /* ...购物车数据... */ ]
    },
    computed: {
      totalPrice() {
        return this.shoppingCart.reduce((total, item) => {
          return total + item.price * item.count;
        }, 0);
      }
    }
  });
</script>
相关推荐
Emily156853598703 小时前
Emerson 1C31129G03 Analog Input Module
java·开发语言·前端·plc·emerson·1c31129g03·input module
To_OC8 小时前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
To_OC8 小时前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
风月说与山鬼10 小时前
三、大括号语法
前端·react.js
kyriewen10 小时前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn11 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian23311 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise11 小时前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢13 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js