栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用Javascript排序JSON对象

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用Javascript排序JSON对象

function sortJsonArrayByProperty(objArray, prop, direction){    if (arguments.length<2) throw new Error("sortJsonArrayByProp requires 2 arguments");    var direct = arguments.length>2 ? arguments[2] : 1; //Default to ascending    if (objArray && objArray.constructor===Array){        var propPath = (prop.constructor===Array) ? prop : prop.split(".");        objArray.sort(function(a,b){ for (var p in propPath){     if (a[propPath[p]] && b[propPath[p]]){         a = a[propPath[p]];         b = b[propPath[p]];     } } // convert numeric strings to integers a = a.match(/^d+$/) ? +a : a; b = b.match(/^d+$/) ? +b : b; return ( (a < b) ? -1*direct : ((a > b) ? 1*direct : 0) );        });    }}sortJsonArrayByProperty(results, 'attributes.OBJECTID');sortJsonArrayByProperty(results, 'attributes.OBJECTID', -1);

更新:请勿更改

function sortByProperty(objArray, prop, direction){    if (arguments.length<2) throw new Error("ARRAY, AND OBJECT PROPERTY MINIMUM ARGUMENTS, OPTIonAL DIRECTION");    if (!Array.isArray(objArray)) throw new Error("FIRST ARGUMENT NOT AN ARRAY");    const clone = objArray.slice(0);    const direct = arguments.length>2 ? arguments[2] : 1; //Default to ascending    const propPath = (prop.constructor===Array) ? prop : prop.split(".");    clone.sort(function(a,b){        for (let p in propPath){     if (a[propPath[p]] && b[propPath[p]]){         a = a[propPath[p]];         b = b[propPath[p]];     }        }        // convert numeric strings to integers        a = a.match(/^d+$/) ? +a : a;        b = b.match(/^d+$/) ? +b : b;        return ( (a < b) ? -1*direct : ((a > b) ? 1*direct : 0) );    });    return clone;}const resultsByObjectId = sortByProperty(results, 'attributes.OBJECTID');const resultsByObjectIdDescending = sortByProperty(results, 'attributes.OBJECTID', -1);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号