数组新增方法

本文介绍了JavaScript中Array.prototype.reduce()方法的使用,通过实例展示了如何利用reduce实现数组求和、字符串拼接、去重及统计字符出现次数的功能。了解并掌握reduce方法能提升数组操作的效率。
摘要由CSDN通过智能技术生成

reduce:将数组中的元素进行整合,返回一个新的内容

prev:上一次操作的返回结果,如果没有设置默认参数,那么第一个数组元素,作为第二个数组元素的prev
 item:当前进入元素
 index:进入元素的索引值
 array:当前操作的数组

数组求和

let arr=[52,60,45,69,80]

let result=arr.reduce((prev,item)=>{
         return prev+item
     },0)
        console.log(result)

拼接字符串
       自定义 初始化参数 prev
        let arr=["百度","腾讯","阿里","京东"]
       利用reduce方法 将其拼接成 <li>百度</li>.... 返回
       let result=arr.reduce((prev,item)=>{
            return prev+"<li>"+item+"</li>"
       },"")    //"这里面是初始化参数"
        console.log(result)

 数组的去重(reduce实现数组中的去重,返回一个新的没有重复的数组)
        let arr=["百度","腾讯","阿里","京东","百度","腾讯","京东"]
      
         let result=arr.reduce((prev,item)=>{
             if(!prev.includes(item)){
                 prev.push(item)
             }
             return prev
         },[])
         console.log(result)


        统计字符的出现次数
        let arr=["a","v","v","a","w","q","w","i","o","e"]
        //返回一个对象{a:2,v:2,w:2}
        let result=arr.reduce((prev,item)=>{
             if(item in prev){
                //对于对象 属性是变量[]
                prev[item]++
             }else{
                prev[item]=1
             }
             return prev
        },{})
        console.log(result)

好的,让我来回答你的问题。你想让我用jq写构造函数、数组新增方法forEach()、filter()方法、some()方法等商品查询案例,来帮助用户按照预设的条件快速查询商品信息,对吗? 首先,我们需要定义一个构造函数来创建商品对象。以下是一个简单的构造函数示例: ``` function Product(name, price, category) { this.name = name; this.price = price; this.category = category; } ``` 接下来,我们可以创建一些商品对象,并将它们存储在一个数组中: ``` var products = [ new Product("iPhone", 1000, "Electronics"), new Product("Macbook", 1500, "Electronics"), new Product("Chair", 50, "Furniture"), new Product("Table", 100, "Furniture") ]; ``` 现在,我们可以使用jQuery的`$.each()`方法来实现我们自己的`forEach()`方法: ``` $.fn.myForEach = function(callback) { return this.each(function(index, element) { callback.call(element, index, element); }); }; ``` 我们可以使用它来迭代`products`数组: ``` $(products).myForEach(function(index, product) { console.log(product.name); }); ``` 接下来,我们可以使用`filter()`方法来筛选商品。以下是一个示例: ``` var filteredProducts = $(products).filter(function(index, product) { return product.price < 100; }); $(filteredProducts).myForEach(function(index, product) { console.log(product.name + ": $" + product.price); }); ``` 最后,我们可以使用`some()`方法来检查是否有符合条件的商品。以下是一个示例: ``` var hasExpensiveProducts = $(products).some(function(index, product) { return product.price > 1000; }); if (hasExpensiveProducts) { console.log("There are expensive products."); } else { console.log("There are no expensive products."); } ``` 以上就是一个简单的商品查询案例的示例代码,希望对你有所帮助。如果你有任何问题,请随时问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值