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

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
      })
    }

结果:

根据数组中对象的某一个属性进行排序(字符串或者数字)_第1张图片
两个方法也可以整合一下,即先判断属性的类型是什么,再分别进行比较,这里就不写出来了~

你可能感兴趣的:(前端,js,javascript)