码迷,mamicode.com
首页 > 编程语言 > 详细

js四个for循环遍历数组拿到数组和的方式

时间:2021-02-19 13:40:27      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:必须   逻辑   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

//=============//=============//=============

js四个for循环遍历数组拿到数组和的方式

标签:必须   逻辑   cti   ota   spl   compute   book   +=   his   

原文地址:https://www.cnblogs.com/qingzuihub/p/14411342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!