根据数组中对象的某一个属性进行排序(字符串或者数字)

js代码:

	var arr = [
					{"name":"JackeLove","age":20},
					{"name":"Uzi","age":25},
					{"name":"CloearLove","age":99},
					{"name":"Rookie","age":10},
					{"name":"Ming","age":22}
				]
	var newArrByStr = sortByStr(arr,"name")
	console.log("按name(字符串)排序:",newArrByStr)

	var newArrByInt = sortByInt(arr,"age")
	console.log("按age ( 数字 )排序:",newArrByInt)
	
	// 按类型为String的属性排序
	function sortByStr (array, key) {
      return array.sort(function (b, a) {
        var x = (a[key].substr(0, 1)).charCodeAt()
        var y = (b[key].substr(0, 1)).charCodeAt()
        return y - x
      })
    }
	// 按类型为Number的属性排序
	function sortByInt (array, key) {
      return array.sort(function (b, a) {
        var x = a[key]
        var y = b[key]
        return y - x
      })
    }

结果:

在这里插入图片描述
两个方法也可以整合一下,即先判断属性的类型是什么,再分别进行比较,这里就不写出来了~

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值