欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現(xiàn)json數(shù)組排序操作實例分析

 更新時間:2019年10月28日 10:57:16   作者:PolarisHuster  
這篇文章主要介紹了JS實現(xiàn)json數(shù)組排序操作,結合實例形式分析了javascript針對json數(shù)組的遍歷、排序簡單操作技巧,需要的朋友可以參考下

本文實例講述了JS實現(xiàn)json數(shù)組排序操作。分享給大家供大家參考,具體如下:

有時需要根據(jù)json對象的某個屬性排序json數(shù)組,javascript端有sort這個函數(shù),具體可以參考:http://www.w3school.com.cn/jsref/jsref_sort.asp

我們可以傳入一個對比函數(shù),我實現(xiàn)了兩個:一個降序排列,一個升序排列

/**
 * json對象數(shù)組按照某個屬性排序:降序排列
 * @param {Object} propertyName
 */
function compareDesc(propertyName) {
  return function(object1, object2) {
    var value1 = object1[propertyName];
    var value2 = object2[propertyName];
    if(value2 < value1) {
      return -1;
    } else if(value2 > value1) {
      return 1;
    } else {
      return 0;
    }
  }
}
/**
 * json對象數(shù)組按照某個屬性排序:升序排列
 * @param {Object} propertyName
 */
function compareAsc(propertyName) {
  return function(object1, object2) {
    var value1 = object1[propertyName];
    var value2 = object2[propertyName];
    if(value2 < value1) {
      return 1;
    } else if(value2 > value1) {
      return -1;
    } else {
      return 0;
    }
  }
}

例子:

var students=[{name:"hhhh",age:16},{name:"ggggg",age:17},{name:"dsdsad",age:18}];
students.sort(compareDesc("age"));  //按照年齡降序排列
console.log(students);

運行結果:

var students=[{name:"hhhh",age:16},{name:"ggggg",age:17},{name:"dsdsad",age:18}];
students.sort(compareAsc("age"));  //按照年齡升序排列
console.log(students);

運行結果:

PS:關于json操作,這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:

在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat

在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson

json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat

在線json壓縮/轉義工具:
http://tools.jb51.net/code/json_yasuo_trans

更多關于JavaScript相關內(nèi)容可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調(diào)試技巧總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數(shù)學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

相關文章

最新評論