精华内容
下载资源
问答
  • data(){ return{ subjects:[ {sort:1,name:“aaa”}, {sort:3,name:“ccc”}, ...//对象数组排序方法 sortBykey(array, key) { return array.sort(function (a, b) { var x = a[key]; //如果要从大到小,把x,y互换就好

    data(){
    return{
    subjects:[
    {sort:1,name:“aaa”},
    {sort:3,name:“ccc”},
    {sort:2,name:“bbb”}
    ]
    }
    }

    this.subjects = this.sortBykey(this.subjects, “sort”);

    //对象数组排序方法
    sortBykey(array, key) {
    return array.sort(function (a, b) {
    var x = a[key]; //如果要从大到小,把x,y互换就好
    var y = b[key];
    return x < y ? -1 : x > y ? 1 : 0;
    });
    },

    展开全文
  • 本文实例讲述了JS实现json对象数组对象属性排序操作。分享给大家供大家参考,具体如下: 在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序。 例如...
  • js中json对象数组对象属性排序 在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序。 例如返回的数据结构大概是这样: { result:[ {id:1,name...

    https://www.cnblogs.com/jasonwang2y60/p/6656103.html

    js中json对象数组按对象属性排序

    在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序。

    例如返回的数据结构大概是这样:

    复制代码

       {
        result:[
          {id:1,name:'中国银行'},
          {id:3,name:'北京银行'},
          {id:2,name:'河北银行'},
          {id:10,name:'保定银行'},
          {id:7,name:'涞水银行'}
        ]
       } 

    复制代码

    现在我们根据业务需要,要根据id的大小进行排序,按照id小的json到id大的json顺序重新排列数组的顺序

    在js中添加排序的方法:

    这里使用JavaScript sort() 方法,首先解释下这个sort的方法

    语法:arrayObject.sort(sortby)            sortby:可选,规定排序顺序。必须是函数。

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

    如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

    • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
    • 若 a 等于 b,则返回 0。
    • 若 a 大于 b,则返回一个大于 0 的值。

     

    下面开始使用sort(sortby) 来进行这个排序,并打印到控制台:

        function sortId(a,b){  
           return a.id-b.id  
        }
        result.sort(sortId);
        console.log(result); 

    然后查看控制台,排序成功:

    展开全文
  • 关于数组排序马上会想到sort方法,或者reverse方法 但是后者只是简单的逆序而已不能满足大部分需求。前者功能强大便于扩展,该方法有一个自定义排序函数,一般而言针对数字或者同类型不复杂元素很容易进行自定义排序...

    关于数组排序马上会想到sort方法,或者reverse方法 但是后者只是简单的逆序而已不能满足大部分需求。

    前者功能强大便于扩展,该方法有一个自定义排序函数,一般而言针对数字或者同类型不复杂元素很容易进行自定义排序函数,该函数有两个参数:

    比如数组var arr=[2,3,5,1,4] ; 需要升序排列,我们可以这样:

    function Compare(va1,va2){ return va2-va1;}

    arr.sort(Compare);        alert(arr);最后输出1,2,3,4,5

    但是如果遇到复杂的数组元素,比如:

    var data = [{ name: "jiang", age: 23 }, { name: "zheng", age: 18 }, { name: "baidu", age: 8 }, { name: "javascript", age: 19}];

    数组中含有对象对象中有许多属性,如何根据属性排序呢?

    这时候就要重写排序规则函数了,可是该函数只接受两个参数,如何才能根据特定属性排序呢,比如这里的age,name

    熟悉函数特性的都知道,函数在javascript中不同于其他语言,函数是对象,函数中可以返回函数,因此可以在外函数中传入属性,内函数接收两个参数,比如这里的数组中对象元素。

    实现如下:

    //自定义排序函数,传入属性,返回接收两个参数的排序函数

    function createComparsionFunction(propertyName)

    {

    return function(object1, object2)

    {

    var value1 = object1[propertyName];

    var value2 = object2[propertyName];

    if (value1 < value2)

    {

    return -1;

    } else if (value1 > value2)

    {

    return 1;

    } else

    {

    return 0;

    }

    }

    }

    var data = [{ name: "zheng", age: 5 }, { name: "jiang", age: 18 }, { name: "google", age: 11 }, { name: "javascript", age: 19}];

    document.write("----------------------原始序列-------------------------", "");

    for (var i = 0, ilen = data.length; i < ilen; i++)

    {

    document.write(data[i].name + ":" + data[i].age, "");

    }

    document.write("----------------------age升序-------------------------", "");

    data.sort(createComparsionFunction("age")); //根据age排序

    for (var i = 0, ilen = data.length; i < ilen; i++)

    {

    document.write(data[i].name + ":" + data[i].age, "");

    }

    document.write("----------------------name升序-------------------------", "");

    data.sort(createComparsionFunction("name")); //根据age排序

    for (var i = 0, ilen = data.length; i < ilen; i++)

    {

    document.write(data[i].name + ":" + data[i].age, "");

    }

    效果如下:

    24333490_1.jpg

    展开全文
  • let ary = [ { list_order: 2, name: "车型展示" }, { list_order: 3, name: "售后服务" }, { list_order: 1, name: "公司介绍" }, { list_order: 5, name: "金融" }, ..
      let ary = [
          {
            list_order: 2,
            name: "车型展示"
          },
          {
            list_order: 3,
            name: "售后服务"
          },
          {
            list_order: 1,
            name: "公司介绍"
          },
          {
            list_order: 5,
            name: "金融"
          },
          {
            list_order: 6,
            name: "我的"
          },
          {
            list_order: 7,
            name: "保险"
          },
          {
            list_order: 8,
            name: "预约"
          },
          {
            list_order: 4,
            name: "新闻"
          }
        ];
    let sortedList=ary.sort(function(a,b){
    	return a['list_order']-b['list_order'];
    })
    

    从小到大排:
    在这里插入图片描述
    从大到小排:
    在这里插入图片描述

    展开全文
  • js中json对象数组对象属性排序(sort方法)---2(根据拼音排序汉字和排序英文) 本例主要实现 中文汉字按拼音排序的方法和英文按照首字母排序的方法。   要排序的数据: //要排序的数据 let data = [ {...
  • 关于数组排序马上会想到sort方法,或者reverse方法 但是后者只是简单的逆序而已不能满足大部分需求。 前者功能强大便于扩展,该方法有一个自定义排序函数,一般而言针对数字或者同类型不复杂元素很容易进行自定义...
  • * @desc 根据对象数组中的指定属性进行数组元素排序 * @param objArr 要进行排序操作的对象数组 * @param attribute 排序属性 * @param orderFlag 方式标识,true 为正序 false 为倒序 默认为 true * @returns ...
  • 1.示例: let dataList = [{"id":15,"name":"张三","age":18},{"id":16,"name":"李四","age":16}, {"id":17,"name":"李明","age":100}] 2.比较器 function compare(property,desc) { return function (a, b) { ...
  • 代码中col是传进来的对象...如果在属性相等的情况下,想根据另外字段排序就传入两个参数多写个if(c == d) {if(e>f) return -1} <th width="10%" (click)="sort('type')">类型 <span *ngIf="checked">&am
  • js 数组根据对象属性排序-sort

    千次阅读 2018-07-11 09:25:43
    在平时的业务中经常遇到根据一组数组对象中的某个值来排序的情况,例如var arr=[{name:"dog",num:2},{name:"cat",num:1},{name:"pic",num:2}]这个时候会想到sort方法,但是...
  • if(DataUtil.isJsonArray(tidByVisitoid)) { Map<String, String> map = new HashMap<>(); JSONArray jArray = JSONArray.fromObject(tidByVisitoid); if(jArray.length()>... JSONArra...
  • 在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组排序。 例如返回的数据结构大概是这样: { result:[ {id:1,name:'中国银行'}, {id:3,n...
  • JS对象数组根据属性排序

    千次阅读 2018-11-05 18:44:03
    在项目中需要给grid的某一列排序,但又不是...sort()方法会改变原来的数组,并且sort方法并不是严格按照数字大小排序的,好像是根据字符的阿斯科码表对应值排序的。如果想对数组按照大小进行排序,则需要在sort()...
  • js 数组对象属性排序

    千次阅读 2019-01-11 17:30:58
    js sort方法根据数组对象的某一个属性值进行排序 sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同. var arr = [ {name:'zopp',age:0}, {name:'gpp...
  • //要排序的数据 let data = [ {chinese: '蔡司', english: 'Chase'}, {chinese: '艾伦', english: 'Allen'}, {chinese: '左拉', english: 'Zola'}, {chinese: '贝克', english: 'Baker'}, ...
  • js中根据数组对象属性排序 <script> var arr = [ { name:'李白', age: 17 }, { name:'杜甫', age: 7 }, { name:'白居易', age: 12 },{ name:'李商隐', age: 19 } ]
  • js 数组对象根据某一属性排序

    千次阅读 2014-10-14 15:11:51
    //定义一个对象数组   var data = [{ name: "jiang", age: 22 }, { name: "AAAAAAAAAAAAAA", age: 21 }, { name: "CCCCCCCCc", age: 25}];   //定义一个比较器  function compare(propertyName) {  return...
  • js从一个对象数组根据属性值大小排序 选自朋友的前端面试题 -朋友说一开始并不太清楚数组的sort方法,不停对数组做遍历还在写冒泡排序。然后面试官问:‘你不知道数组的sort方法么。’ 然后一两行代码写出来了~~·...
  • 主要介绍了JS实现根据数组对象的某一属性排序操作,涉及javascript针对json数组的遍历、比较、排序等相关操作技巧,需要的朋友可以参考下
  • js数组对象根据多个属性排序

    千次阅读 2020-04-08 10:29:51
    写逻辑的过程中,你会发现,基础的方法特别重要,数组的方法和对象的方法,一定得特别熟悉,这在前端开发中很重要!! 首先,我直接给出多属性排序的方法,再说下一个详细的真实案例 例如:将下列数组按照pxId排序,...
  • 主要介绍了js 根据对象数组中的属性进行排序实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 本例主要实现 中文汉字按拼音排序的方法和英文按照首字母排序的方法。 要排序的数据: //要排序的数据 let data = [ {chinese: '蔡司', english: 'Chase'}, {chinese: '艾伦', english: 'Allen'}, {...
  • 按照年龄升序排序 var infoObj=[ { name:"张三", sex:'female', age:30 }, { name:"李四", sex:'male',...
  • 工作中经常会遇到对象属性排序的问题,在加密中,根据属性名自然排序,然后拼接成字符串加密,也是很常见的需求,接下来给大家带来一些基本方法: 1.首先是根据首字符自然排序: const obj = {cc:'',dd:'dd',ff:'...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 506
精华内容 202
关键字:

数组对象根据属性排序