• 微信小程序:对数组进行排序


    sort() 方法用于对数组的元素进行排序。

    排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序。

    注意:当数字是按字母顺序排列时"40"将排在"5"前面。

    语法:

    array.sort(sortfunction)

    参数:sortfunction,可选。规定排序顺序。必须是函数。

    一、对字母进行排序

    默认排序顺序为按字母升序。

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.sort();
    fruits.reverse();

    结果:

    Orange,Mango,Banana,Apple

    二、对数字进行排序

    使用数字排序,你必须通过一个函数作为参数来调用。函数指定数字是按照升序还是降序排列。

    1)、升序

    var points = [40,100,1,5,25,10];
    points.sort(function(a,b){return a-b});

    结果:

    1,5,10,25,40,100

    2)、降序

    var points = [40,100,1,5,25,10];
    points.sort(function(a,b){return b-a});

    结果:

    100,40,25,10,5,1

    三、根据数组中的对象的某个属性进行排序

    根据对象中的某个字段进行升序或降序

    1)、升序

    第一种方式:

    方法:

    compare: function (property) {
            return function (a, b) {
                var value1 = a[property];
                var value2 = b[property];
                return value1 - value2;
            }
        },

    调用方法:

    result.data.forEach(
                        (item, i) => {
                            item.itemList.sort(that.compare("itemCode"))
                            item.itemList.forEach(
                                (item1, i1) => {
                                    datasetList.push(item1.itemName)
                                }
                            )
                        }
                    )

    第二种方式:直接将函数写到sort函数的参数中

    result.data.forEach(
                        (item, i) => {
                            item.itemList.sort(function(a,b){return a["itemCode"]-b["itemCode"]})
                            item.itemList.forEach(
                                (item1, i1) => {
                                    datasetList.push(item1.itemName)
                                }
                            )
                        }
                    )

    2)、降序

    方法:

    compare: function (property) {
            return function (a, b) {
                var value1 = a[property];
                var value2 = b[property];
                return value2 - value1;
            }
        },

    调用方法:

    result.data.forEach(
                        (item, i) => {
                            item.itemList.sort(that.compare("itemCode"))
                            item.itemList.forEach(
                                (item1, i1) => {
                                    datasetList.push(item1.itemName)
                                }
                            )
                        }
                    )

    第二种方式:直接将函数写到sort函数的参数中:

    result.data.forEach(
                        (item, i) => {
                            item.itemList.sort(function(a,b){return b["itemCode"]-a["itemCode"]})
                            item.itemList.forEach(
                                (item1, i1) => {
                                    datasetList.push(item1.itemName)
                                }
                            )
                        }
                    )
  • 相关阅读:
    HDU 2081 手机短号
    HDU 2053 Switch Game
    HDU 2040 亲和数
    HDU 2070 Fibbonacci Number
    redis集群安装2
    redis集群1
    批量更新sql
    centos 6升级 GCC 到4.8
    排序4 -- 插入排序
    排序3--选择排序
  • 原文地址:https://www.cnblogs.com/zwh0910/p/16178152.html
Copyright © 2020-2023  润新知