标签:必须 逻辑 cti ota spl compute book += his
// 写vueJS逻辑
// @ts-ignore
const app = new Vue({
el: ‘#app‘,
data() {
return {
books: [
{
id: 1,
name: ‘《周文强牛逼1》‘,
date: ‘2021-1-1‘,
price: 88.00,
count: 1,
},
{
id: 2,
name: ‘《周文强牛逼2》‘,
date: ‘2021-2-1‘,
price: 88.00,
count: 1,
},
{
id: 3,
name: ‘《周文强牛逼3》‘,
date: ‘2021-3-1‘,
price: 88.00,
count: 1,
},
{
id: 4,
name: ‘《周文强牛逼4》‘,
date: ‘2021-4-1‘,
price: 88.00,
count: 1,
},
{
id: 5,
name: ‘《周文强牛逼5》‘,
date: ‘2021-5-1‘,
price: 88.00,
count: 1,
},
]
}
},
methods: {
add(bookIndex) {
// console.log(‘add--‘);
this.books[bookIndex].count++
},
sub(bookIndex) {
// console.log(‘sub--‘);
this.books[bookIndex].count--
},
deleteBook(bookIndex) {
this.books.splice(bookIndex, 1)
}
},
//过滤器
filters: {
showPrice(price) {
return ‘¥‘ + price.toFixed(2)
}
},
//计算属性
computed: {
totalPrice() {
// let totalPrice = 0
// 1、普通for循环
// for(let i = 0; i< this.books.length; i++) {
// totalPrice += this.books[i].price * this.books[i].count
// }
//=============//=============//=============
//2、in增强for循环
// for(let i in this.books) {
// totalPrice += this.books[i].price * this.books[i].count
// }
//=============//=============//=============
// 3、of最强for循环
// for(let book of this.books) {
// totalPrice += book.price * book.count
// }
// return totalPrice
//=============//=============//=============
// 4、reduce函数式for循环
return this.books.reduce( function(preVal, book) {
return preVal + book.price * book.count
}, 0)
},
},
})
//编程范式
//面向对象编程:第一公民:对象;函数式编程:第一公民:函数;
// const nums = [10,20,30,40,50,60,70,80,90]
// let newnums = []
// for(let n in nums) {
// if(n < 100){
// newnums.push(n)
// }
// }
//=============//=============//=============
const nums = [10,20,30,40,50,60,70,80,90]
//=============//=============//=============
/* 练习高阶函数 */
//=============//=============//=============
// let total = nums.filter(function(n) {
// return n < 100 ? true : false
// }).map(function(n) {
// return n * 2
// }).reduce(function(preValue, n){
// return preValue + n //返回数组和
// }, 0)
// console.log(total);
//=============//=============//=============
//=============//=============//=============
// let total = nums.filter(n => n < 100).map(n => n*2).reduce((preVal, n) => preVal + n)
// console.log(total);
//=============//=============//=============
//map|reduce|filter
//filter中的毁掉函数必须返回bool值
//true: 函数把n添加到数组
//false:过滤掉这个n
//=============//=============//=============
//1、filter函数使用
//需求,取出数组中小于100的数字
// let newnums = nums.filter(function(n) {
// return n<70?true:false
// })
// console.log(newnums)
//=============//=============//=============
//需求:把数组中所有数字乘以2返回出去
// 2、map函数的使用
// let new2nums = newnums.map(function(n) {
// return n * 2
// })
// console.log(new2nums);
//=============//=============//=============
//3、reduce函数的使用
//reduce作用是对数组中所有数据进行汇总
// newnums.reduce((preValue, n))
// let total = newnums.reduce(function(preValue, n) {
// // return 100
// return preValue+n //返回汇总总数
// }, 0)
// console.log(total);//240
//第一次 preValue 0 + n 20
//第二次 preValue 20 + n 40
//第3次 preValue 40 + n 80
//第4次 preValue 80 + n 100
//=============//=============//=============
标签:必须 逻辑 cti ota spl compute book += his
原文地址:https://www.cnblogs.com/qingzuihub/p/14411342.html