数组、Json的排序问题

前端在处理后台返回的数据的过程中,排序应该是一个经常遇见的问题

现在有一个数组是

  • arr = [1,2,4,5,3,2,1]
  • 对于这样的一个最常见的数组,我们通常也会使用最简单的办法:
	let arr = [1,2,4,5,3,2,1];
	arr.sort((a,b) => {
		return a-b;  //从小到大
		//return b-a; 从大到小
	})

现在数组是这样的

  • arr = ['a','c','s','e','d','b']
  • 如果数组是这样的,要求是按照字母的顺序排序,实现方法也很简单:
	let arr = ['a','c','s','e','d','b'];
	arr.sort();

现在有一个json

  • json = { '场数':29, '得分':112.5, '两分(率)':0.57,'三分(率)':0.37,'罚球(率)':0.80,'篮板':47.9,'盖帽':3.9,'抢断':9.6,'助攻':21.3,'犯规':21.3,'失误':12.6,'胜负':'24/4'}
  • 我们还有另外一个数组是这样的
    • brr = [{ title: '场数' }, { title: '得分' }, { title: '两分(率)' }, { title: '三分(率)' }, { title: '罚球(率)' }, { title: '篮板' }, { title: '盖帽' }, { title: '抢断' }, { title: '助攻' }, { title: '犯规' }, { title: '失误' }, { title: '胜负' }]
  • 现在的要求是arr要按照brr中的title属性的顺序进行排序
  • 代码如下
function(brr,json){ //传入两个参数(已有顺序的数组,准备排序的json)
    let arr = [];
    let newJson = {}; //定义一个新的{}
    brr.map(item => {
      arr.push(item.title);
    })
    arr.map(item => {
      const key = item;
      newJson[key] = json[key];
    })
    return newJson;   //返回已经排序好的json
}

现在有一个数组

  • arr = [{name:'jack',age:'22',sort:3},{name:'xiaohong',age:'11',sort:2},{name:'lily',age:'42',sort:8},{name:'lisa',age:'32',sort:5}]
  • 现在我们要根据现有数组中json的sort属性进行排序(从小到大/从大到小)
  • 代码如下
function sortArr(a,b){
	return a.sort-b.sort;
}
arr.sort(sortArr)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值