【发布时间】:2015-10-20 10:29:20
【问题描述】:
假设我们有一个数组
var a = [
{ name: 'Tom', surname: 'TestAsIvanov' },
{ name: 'Kate', surname: 'Ivanova' },
{ name: 'John', surname: 'Alivanov' },
{ name: 'Ivan', surname: 'Ivanov' }
]
我需要根据提供的字符串按姓氏字段对该数组进行排序,例如:
- 对于
'iva',模式数组应按如下方式排序
var newA = [
{ name: 'Ivan', surname: 'Ivanov' },
{ name: 'Kate', surname: 'Ivanova' },
{ name: 'John', surname: 'Alivanov' },
{ name: 'Tom', surname: 'TestAsIvanov' },
]
- 对于
'a',模式数组应按如下方式排序
var newA = [
{ name: 'John', surname: 'Alivanov' },
{ name: 'Ivan', surname: 'Ivanov' },
{ name: 'Kate', surname: 'Ivanova' },
{ name: 'Tom', surname: 'TestAsIvanov' },
]
所以数组应该按提供的字符串模式排序。这怎么可能实现?
【问题讨论】:
-
newA.sort(function(a, b) { if (a.surname b.surname) return 1; return 0; } );
-
@murli2308 我需要根据提供的字符串按姓氏字段对这个数组进行排序你不明白的哪一部分? OP 想要某种过滤器,而不仅仅是简单的字母排序。
-
@DontVoteMeDown 它将直接工作我认为它不需要过滤器。我加了一个小提琴。 jsfiddle.net/murli2308/mn1f4c89
标签: javascript jquery arrays sorting