欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js对接口返回的数据排序(对JOSN 数据指定属性排序,对二维数组元素指定字段排序)

程序员文章站 2022-07-02 22:07:47
...

排序前数据展示是这样的:
js对接口返回的数据排序(对JOSN 数据指定属性排序,对二维数组元素指定字段排序)
甲方的需求是想要以“单位名称”指定的顺序进行展示:

.想要通过这种没有规律的字段(单位名称)进行展示是不可能的,那就转换一下:

datas 参数是通过ajax获取的结果,通过这种方式对想要排序的规则添加一个键值对 ,然后对以sot 进行排序就好了:
js对接口返回的数据排序(对JOSN 数据指定属性排序,对二维数组元素指定字段排序)
代码:

addSort : function(datas){
				for (var i = 0; i <datas.length; i++) {
					switch (datas[i]['单位名称']) {
						case '':
							datas[i]['sot']=0;
							break;
						case '':
							datas[i]['sot']=1;
							break;
						case '':
							datas[i]['sot']=2;
							break;
						case '':
							datas[i]['sot']=3;
							break;
						case '':
							datas[i]['sot']=4;
							break;
					}
				}
				return datas;
			},
  1. 通过步骤① 返回的是一个对象类型的数组:
  2. js对接口返回的数据排序(对JOSN 数据指定属性排序,对二维数组元素指定字段排序)
  3. 接着就是对数组进行一下排序就可以了:注意 内层 for 循环 的取值范围
    js对接口返回的数据排序(对JOSN 数据指定属性排序,对二维数组元素指定字段排序)
    代码:
sortDatas : function(lists){
				for(var j = 0 ; j < lists.length; j++){
					for(var k = 0 ; k < lists.length-1-j ; k++){
						if (lists[k].sot > lists[k+1].sot){
							var temp =lists[k];
							lists[k] = lists[k + 1];
							lists[k + 1] = temp;
						}
					}
				}
				return lists;
			}

然后进行调用:
js对接口返回的数据排序(对JOSN 数据指定属性排序,对二维数组元素指定字段排序)

结果:
js对接口返回的数据排序(对JOSN 数据指定属性排序,对二维数组元素指定字段排序)

相关标签: 个人总结