对json数组进行排序和filter过滤

来源:互联网 发布:java编程工具 知乎 编辑:程序博客网 时间:2024/06/05 17:30
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>对json数组进行排序和filter过滤</title></head><body><script>var data = [{recordId: 10, recordNo: "PPCZ_", userId: 1, recordType: 9, recordCode: "", recordInMoney: 1111},{recordId: 5, recordNo: "PPCZ_20170105170203", userId: 1, recordType: 9,recordInMoney: 11},{recordId: 2, recordNo: "PPCZ_20170105170201", userId: 1, recordType: 9,recordInMoney:500}]/* * @description根据某个字段实现对json数组的排序 * @param array要排序的json数组对象 * @param field排序字段(此参数必须为字符串) * @param reverse  是否倒序(默认为false) * @returnarray返回排序后的json数组*/function jsonSort(array, field, reverse) {//数组长度小于2 或 没有指定排序字段 或 不是json格式数据if(array.length < 2 || !field || typeof array[0] !== "object") return array;//数字类型排序if(typeof array[0][field] === "number") {array.sort(function(x, y) { return x[field] - y[field]});}//字符串类型排序if(typeof array[0][field] === "string") {array.sort(function(x, y) { return x[field].localeCompare(y[field])});}//倒序if(reverse) {array.reverse();}return array;}            //使用方法 console.log(jsonSort(data,'recordId'));//filter方法function gtFilter(value) {   return value.recordId > 5}console.log(data.filter(gtFilter))</script></body></html>

0 0
原创粉丝点击