热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自己写的数组方法的组合使用[编程语言教程]

注意,使用map返回的新数组的长度,和原数组的长度是一致的,,可以结合filter先筛选出来符合条件的,然后在使用map来返回需要的数据,用map循环数组,然后,找到每一向的,数组

自己写的数组 方法的组合使用[编程语言教程]

//注意,使用map返回的新数组的长度,和原数组的长度是一致的,,  可以结合filter先筛选出来符合条件的,然后在使用map来返回需要的数据,        
 
//用map 循环数组,然后,找到每一向的,数组,再用map循环,拿到二次循环的数组元素,然后以对象的形式取出里边需要的东西,并且返回,因为map返回的
  是数组,所以在最后用了flat()来展开数组,让数组元素全都是对象,最后使用,reduce去重复
        var obj = {};//用来去重
        let activeListArray1=cart_goods_list.map((item,index,arr)=>{
          return item.promotion.map((item1)=>{
                return {"promot_id":item1.promot_id,"promot_name":item1.promot_name,"type":"promotion"}
          })
        }).flat().reduce(function(item,next){
          obj[next.promot_id] ? "" : obj[next.promot_id] = true && item.push(next);
          return item
        },[]);
        console.log(activeListArray1)
        //获取购物车商品每个商品的单品促销活动名称 并且去重
  //先使用filter选出原数组中符合条件的元素,返回符合条件的数组,然后使用map循环符合条件的数组,符合条件数组的元素里又有数组,所以内部又使用
  map来循环里边的数组,然后取出里边要的信息,返回
        var obj2 = {};
        let activeArray2 = cart_goods_list.filter(item=>item.activity.length>0).map((item,index,arr)=>{
          return item.activity.map((item2,index2,arr2)=>{
            return {"promot_id":item2.activity_id,"promot_name":item2.activity_name,"type":"activity"}
          })
        }).flat().reduce(function(item,next){
          obj[next.promot_id] ? "" : obj[next.promot_id] = true && item.push(next);
          return item
        },[]);
        console.log(activeArray2);
        // 合并两个活动的名称
        activeListArray1 = [...activeListArray1,...activeArray2,...[{"promot_id":0,"promot_name":"暂无活动"}]];
        console.log(activeListArray1);
        // 遍历商品,分类放
  这里使用forEach来循环,所有活动的数组,在循环里,使用filter来过滤,商品列表里,和,活动ID一致的商品,然后使用,forEach
  的参数,把filter返回的数组,添加到自己的每个对象的数组中
        activeListArray1.forEach(function(item,index,arr){
          // arr[index].productList = cart_goods_list.filter(item1=>item1.promotion.length>0?item1.promotion[0].promot_id==arr[index].promot_id:null);
          arr[index].productList = cart_goods_list.filter(item1=>{
            if(item1.promotion.length>0){return item1.promotion[0].promot_id==arr[index].promot_id}else if(item1.promotion.length==0&&item1.activity.length>0)
            {return item1.activity[0].activity_id==arr[index].promot_id}else{
              return item1.promotion.length==arr[index].promot_id&&item1.activity.length==arr[index].promot_id}
          });         
        });
        console.log(activeListArray1);
        that.setData({
        activeListArray1
        }) 

自己写的数组 方法的组合使用

原文:https://www.cnblogs.com/zzhqdkf/p/12793570.html


推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • switch语句的一些用法及注意事项
    本文介绍了使用switch语句时的一些用法和注意事项,包括如何实现"fall through"、default语句的作用、在case语句中定义变量时可能出现的问题以及解决方法。同时也提到了C#严格控制switch分支不允许贯穿的规定。通过本文的介绍,读者可以更好地理解和使用switch语句。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
author-avatar
瓯源鞋楦头尾自动修平机
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有