js使用sort将JSON数据进行排序

在把数据通过Echarts展示成统计图模式时,柱状统计图需要将数据进行从大到小来排序!

下面为所需要的数据:

 1 {
 2       mapData: [
 3           {name: ‘北京‘,value: ‘555‘},
 4           {name: ‘天津‘,value: ‘1000‘},
 5           {name: ‘上海‘,value: ‘100‘},
 6           {name: ‘重庆‘,value: ‘100‘},
 7           {name: ‘河北‘,value: ‘600‘},
 8           {name: ‘河南‘,value: ‘400‘},
 9           {name: ‘云南‘,value: ‘350‘},
10           {name: ‘辽宁‘,value: ‘70‘},
11           {name: ‘黑龙江‘,value: ‘750‘},
12           {name: ‘湖南‘,value: ‘10‘},
13           {name: ‘安徽‘,value: ‘300‘},
14           {name: ‘山东‘,value: ‘10‘},
15           {name: ‘新疆‘,value: ‘400‘},
16           {name: ‘江苏‘,value: ‘80‘},
17           {name: ‘浙江‘,value: ‘160‘},
18           {name: ‘江西‘,value: ‘150‘},
19           {name: ‘湖北‘,value: ‘650‘},
20           {name: ‘广西‘,value: ‘200‘},
21           {name: ‘甘肃‘,value: ‘180‘},
22           {name: ‘山西‘,value: ‘666‘},
23           {name: ‘内蒙古‘,value: ‘120‘},
24           {name: ‘陕西‘,value: ‘222‘},
25           {name: ‘吉林‘,value: ‘520‘},
26           {name: ‘福建‘,value: ‘220‘},
27           {name: ‘贵州‘,value: ‘900‘},
28           {name: ‘广东‘,value: ‘500‘},
29           {name: ‘青海‘,value: ‘500‘},
30           {name: ‘西藏‘,value: ‘800‘},
31           {name: ‘四川‘,value: ‘700‘},
32           {name: ‘宁夏‘,value: ‘10‘},
33           {name: ‘海南‘,value: ‘590‘},
34           {name: ‘台湾‘,value: ‘780‘},
35           {name: ‘香港‘,value: ‘850‘},
36           {name: ‘澳门‘,value: ‘999‘},
37           {name: ‘南海诸岛‘,value: ‘700‘}
38       ]
39 }

现在需要通过 每条数据的value来进行排序,

这边使用的是 sort()

1 function  sortId(a, b) {
2      return a.value-b.value
3 }
4 mapData.sort(sortId);

完整代码:

    data() {
          return {
            mapData: [
              {name: ‘北京‘,value: ‘555‘},
              {name: ‘天津‘,value: ‘1000‘},
              {name: ‘上海‘,value: ‘100‘},
              {name: ‘重庆‘,value: ‘100‘},
              {name: ‘河北‘,value: ‘600‘},
              {name: ‘河南‘,value: ‘400‘},
              {name: ‘云南‘,value: ‘350‘},
              {name: ‘辽宁‘,value: ‘70‘},
              {name: ‘黑龙江‘,value: ‘750‘},
              {name: ‘湖南‘,value: ‘10‘},
              {name: ‘安徽‘,value: ‘300‘},
              {name: ‘山东‘,value: ‘10‘},
              {name: ‘新疆‘,value: ‘400‘},
              {name: ‘江苏‘,value: ‘80‘},
              {name: ‘浙江‘,value: ‘160‘},

              {name: ‘广西‘,value: ‘200‘},
              {name: ‘甘肃‘,value: ‘180‘},
              {name: ‘山西‘,value: ‘666‘},
               .......
        ]
      }
    },
    methods: {
      sortId(a, b) {
        return a.value-b.value
      },
      drawLine (data){
          // 基于准备好的dom,初始化echarts实例
        let myChartChina = this.$echarts.init( document.getElementById(‘fzyChartChina‘))
        let mapName = [];
        this.mapData.sort(this.sortId);

        //后面的代码与排序无关
     }    

控制台可打印出排序后的结果查看

最后页面的效果。

  

原文地址:https://www.cnblogs.com/xiuxiume/p/11994090.html

时间: 2024-08-29 08:41:33

js使用sort将JSON数据进行排序的相关文章

Js实现根据某个字段对Json数据进行排序

一.  知识准备: js中内置的 sort() 方法 (如果你对此方法已经很了解,请跳过此节) 此方法默认是按字母顺序对数组中的元素进行排序的,说得更精确点,是按照字符编码的顺序进行排序. 看如下例子: 当数组中元素为 数字类型 时,排序结果与我们设想的完全不同,因为默认是按照字符编码的顺序进行排序的. 解决方案:sort() 方法接收一个可选参数(此参数必须是函数),我们可以自己定义排序规则,如下图 二.  对 json 排序的具体实现 /* * @description 根据某个字段实现对j

对json数据进行排序

项目有这样一个需要对数据库取出的数据按sort字段进行显示:这个时候想起来在JS中对json数据进行一个排序再进行数据填充可以实现此效果 1 var colId = "sort";//json排序字段 2 //对json进行降序排序函数 3 var desc = function(x,y){ 4 return (x[colId] < y[colId]) ? 1 : -1 5 } 6 //对json进行升序排序函数 7 var asc = function(x,y){ 8 retu

vue2.0配置webpack.dev.conf.js加载本地json数据

打开webpack.dev.conf.js 在const portfinder = require('portfinder')后加入以下配置 1 const express = require('express') 2 const app = express() // 请求server 3 var appData = require('../data.json') //加载本地数据 4 var seller = appData.seller //获取对应的数据 5 var goods = app

JS中eval处理JSON数据 为什么要加括号

由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaScript对象.利用eval函数无疑是一种简单而直接的方法.在转化的时候需要将JSON字符串的外面包装一层圆括号: var jsonObject = eval("(" + jsonFormat + ")"); 为什么要加括号? 加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制

JSON数据Key排序

/// <summary> /// JSON格式化重新排序 /// </summary> /// <param name="jobj">原始JSON JToken.Parse(string json);</param> /// <param name="obj">初始值Null</param> /// <returns></returns> public static s

js解析与序列化json数据(一)json.stringify()的基本用法

对象有两个方法:stringify()和parse().在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript; <html> <head> <title></title> <script type="text/javascript"> function init() { var book={ title:"JavaScript高级程序设计

js解析与序列化json数据

一.前言:JSON对象有两个方法:stringify()和parse(). 二.介绍:在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript. 1.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: JSON.stringify(jsonobj);  //将json对象转换成json字符串 JSON.parse(jsonstr);  //将json字符串转换成jso

《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

  先看一下我要实现的功能界面:   这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面中有所体现,这里不再赘述,此篇文章主要介绍:我是如何通过js从前台获取数据,然后通过ajax技术向后台一般处理程序传递JSON,后台又是如何获取传来的JSON,并对JSON数据转换,然后将转换后的数据写入数据库的! 介绍这些步骤实现前,先说说自己的辛酸:絮叨辛酸,是因为为了实现这个功能,我真的用了很

通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中  先看一下我要实现的功能界面:   这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面中有所体现,这里不再赘述,此篇文章主要介绍:我是如何通过js从前台获取数