按对象属性排序javascript数组
sort javascript array by object attribute
我想按lastName属性对数组进行排序。数组完全保持不变。下面是代码:
console.log(clientListArray);
//sort clientList by last name
var sortedtClientListArray = clientListArray.sort(function(obj1, obj2) {
console.log(obj1.lastName);
return obj1.lastName - obj2.lastName;
})
console.log(sortedtClientListArray);
我的数组的console.log保持不变(潜入第4个元素(索引3)):
0: ct.extend.init
1: ct.extend.init
2: ct.extend.init
3: ct.extend.init
_events: Object
dwelling: "RH07"
firstName: "Alan"
lastName: "Mosby"
letter: "M"
nhi: ""
oid: "2143.10"
parent: function (){return i}
uid: "79fbbf40-5545-4cdc-bc2b-088bf56affc6"
__proto__: r
4: ct.extend.init
5: ct.extend.init
6: ct.extend.init
7: ct.extend.init
length: 8
__proto__: Array[0]
为什么数组中对象的顺序没有改变?
它所在的完整方法:
function onClientClick(e) {
console.log(e.dataItem);
var clientList = e.sender.dataSource._data;
console.log(clientList);
var clientListArray = [];
for(i=0; i < clientList.length; i++){
clientListArray.push(clientList[i]);
}
console.log(clientListArray);
//sort clientList by last name
var sortedtClientListArray = clientListArray.sort(function(obj1, obj2) {
console.log(obj1.lastName);
return obj1.lastName - obj2.lastName;
})
console.log(sortedtClientListArray);
for(i=0; i < clientList.length; i++){
var clientID = clientList[i].oid;
if(clientID == e.dataItem.oid) {
theClient = new Client(clientList[i]);
console.log(i);
console.log(theClient.name);
navigateToSingleClient(true, clientList[i], true, clientList, i);
}
}
}
你的代码有两个问题。
1) "OneString"-"SecondString"
将返回NaN
。在这种情况下可以返回。
2) Array.sort
对给定数组进行排序。它返回排序后的数组。
像这样说
clientListArray.sort(function(a, b){
if(a.lastName < b.lastName) return -1;
if(a.lastName > b.lastName) return 1;
return 0;
})
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 将Javascript数组发送到控制器ASP.NET MVC
- JavaScript数组包含一个值
- 将JavaScript数组传递给函数
- javascript:数组循环
- 将数据存储在javascript数组中以供进一步使用
- 在Javascript数组中查找绝对最大值
- JavaScript数组优化以提高性能
- 在javascript数组中分散数字
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- Javascript数组动态
- javascript数组元素是否知道其封闭数组
- 将 JSON 数组解析为 JavaScript 数组
- 将Transform和Instance Variable转换为对象的JavaScript数组
- 使用Web Html表单创建Javascript数组
- 从重复的javascript数组结果集中只获取一行
- 如何为Javascript数组()的使用准备PHP变量
- Javascript数组和函数
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)