zoukankan      html  css  js  c++  java
  • 使用concat和sort来针对性处理数组内嵌套多数组,并根据条件来进行排序

    最近项目中遇到这么一个需求,需要将数组中的多个数组根据字段排序,然后到页面中渲染。

    初始数组是这样的

        var arr = [
                {
                    arr1: [
                        {   
                            name: '我是商品6',
                            sort: 6
                        },
                        {   
                            name: '我是商品3',
                            sort: 3
                        }
                    ],
                    arr2: [
                        {   
                            name: '我是商品5',
                            sort: 2
                        },
                        {   
                            name: '我是商品1',
                            sort: 1
                        }
                    ]
                },
                {
                    arr1: [
                        {   
                            name: '我是商品5',
                            sort: 5
                        }
                    ],
                    arr2: [
                        {   
                            name: '我是商品4',
                            sort: 4
                        }
                    ]
                }
            ]

    这里需要根据sort字段来进行排序,从1到6

    需求:

      1.将这个源数组重组成一个数组

            var o = []
            arr.forEach((item,index) => {
                o = o.concat(item.arr1,item.arr2)
                o.sort(function (a, b) {
                    return a.sort - b.sort
                })
            })

      输出结果为:

      

       2.在arr数组每条数据中生成一个新数组

            arr.forEach((item,index) => {
                item.arr3 = [].concat(item.arr1,item.arr2)
                item.arr3.sort(function (a, b) {
                    return a.sort - b.sort
                })
            })

      输出结果为:

    这里有个值得注意的地方,concat可以将多个数组进行组合,但是不会对之前的数组进行改变,它会返回一个新数组

  • 相关阅读:
    基于Adaboost的人脸检测算法
    操作系统笔试题及答案
    eclipse Maven plugin 配置
    网站服务管理系统系列教程之五
    2017第4周日
    2017春节~人生智慧箴言
    2017年初夕
    2017农历二十九
    王国维收藏真伪
    2017第3周二假期里该做的事
  • 原文地址:https://www.cnblogs.com/qiuchuanji/p/11445409.html
Copyright © 2011-2022 走看看