gpt4 book ai didi

javascript - 根据数组的一个属性按字母顺序对数组中的对象进行排序

转载 作者:IT老高 更新时间:2023-10-28 13:16:44 26 4
gpt4 key购买 nike

假设你有一个这样的 JavaScript 类

var DepartmentFactory = function(data) {
this.id = data.Id;
this.name = data.DepartmentName;
this.active = data.Active;
}

假设您创建了该类的多个实例并将它们存储在一个数组中

var objArray = [];
objArray.push(DepartmentFactory({Id: 1, DepartmentName: 'Marketing', Active: true}));
objArray.push(DepartmentFactory({Id: 2, DepartmentName: 'Sales', Active: true}));
objArray.push(DepartmentFactory({Id: 3, DepartmentName: 'Development', Active: true}));
objArray.push(DepartmentFactory({Id: 4, DepartmentName: 'Accounting', Active: true}));

所以我现在将有一个由 DepartmentFactory 创建的对象数组。我将如何使用 array.sort() 方法通过每个对象的 DepartmentName 属性对这个对象数组进行排序?

array.sort() 方法在对字符串数组进行排序时工作得很好

var myarray=["Bob", "Bully", "Amy"];
myarray.sort(); //Array now becomes ["Amy", "Bob", "Bully"]

但是如何使它与对象列表一起使用?

最佳答案

你必须这样做:

objArray.sort(function(a, b) {
var textA = a.DepartmentName.toUpperCase();
var textB = b.DepartmentName.toUpperCase();
return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;
});

注意:更改大小写(大写或小写)可确保不区分大小写。

关于javascript - 根据数组的一个属性按字母顺序对数组中的对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8900732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com