【发布时间】:2011-08-23 15:17:31
【问题描述】:
我之前问过以下问题:Can JavaScript or jQuery sort a JSON array on multiple criteria?
我想我可能在问这个问题时犯了一个错误,因为我指定了一个 JavaScript 数组,而不是一个对象,而且这种差异似乎是我遇到困难的根源。
我的页面上存在以下由 JSON 定义的对象,用于自动完成功能:
var fundList = [
{ "name": "Pension Managed Fund 1", "id": 21, "cid": "N0", "dupId": 53 },
{ "name": "Managed Property Fund 2", "id": 407, "cid": "N0", "dupId": 58 },
{ "name": "Retirement Managed Fund 3", "id": 640, "cid": "N0", "dupId": 111 },
{ "name": "Retirement Managed Fund 4", "id": 752, "cid": "N0", "dupId": 115 }
]
我需要根据它们的名称按字母顺序对这些项目进行排序,但它们还必须按照与输入到文本框中的值的相关性进行排序(这会触发自动完成)
例如,如果用户在文本框中键入“托管”,则上面的列表将按如下方式排序:
Managed Property Fund 2
Pension Managed Fund 1
Retirement Managed Fund 3
Retirement Managed Fund 4
如果他们输入“退休”,列表将被排序:
Retirement Managed Fund 3
Retirement Managed Fund 4
Managed Property Fund 2
Pension Managed Fund 1
如果键入“Fund”,则顺序将是正常的字母顺序:
Managed Property Fund 2
Pension Managed Fund 1
Retirement Managed Fund 3
Retirement Managed Fund 4
我需要做什么才能根据我指定的名称和条件对其进行排序?我尝试按照上一个问题中的建议使用fundList.sort(new function(a, b),但这会返回函数未定义错误。
【问题讨论】:
-
This 没用?
-
您好,不。根据
fundList.sort(new function(a, b),这是行不通的。
标签: javascript json sorting