05/28
2016
JavaScript的数组有个排序方法——sort()。如果数组里的项是直接值,直接使用sort()就可以进行排序。但如果数组项是object,直接用sort()排序就无效了。此时我们可以根据object的属性来排序。
var a=[ { "name":"saber", "height":154 }, { "name":"Rin", "height":159 }, { "name":"Sakura", "height":156 } ]; function sortByProperty(propertyName) { return function(object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (value2 < value1) { //升序 return 1; } else if (value2 > value1) { return -1; } else { return 0; } } } a.sort(sortByProperty("height"));
如上代码,定义了一个排序函数sortByProperty,传递了属性进去就根据什么属性的值排序。
上面代码得到的结果是升序,如图:
saber最矮我不服!
如果想改成降序排列,将sortByProperty函数return 1改成-1,return -1改成1就行了。
JavaScript根据对象的属性排序
09/7
2015
for(var key in objectName){ console.log(objectName[key]) }
一开始不会做fon in这部分,因为objcet对象的属性名或值不能像数组一样使用数字索引来输出。百度之后学会了用for in来取得属性名。拿到了属性名之后就可以获取到值了,不过此时要写成object[key]的形式。
js中使用for in遍历输出object的值
03/11
2015