2013-07-23 4 views
0

У меня есть объект JS с внутренним массивом другого объекта JS. Внутренний ONW подобенСортировка массива JScript в строчном поле с ведущими номерами

function outerObj() 
{ 
    this.items = new Array(); 
    this.clear = function() { 
     this.items = new Array(); 
    } 
    function __item(v1, v2, v3, v4) { 
     this.Val_1 = v1; 
     this.Val_2 = v2; 
     this.Val_3 = v3; 
     this.Val_4 = v4; 
    } 
    this.add = function (vA, vB, vC, vD) { 
     this.items.push(new __item(vA, vB, vC, vD)); 
    } 
    ... 
} 

загружается массив через SPServices getListItems() вызова, используя .each(. . .) на полученном XML. Результаты упорядочены (<OrderBy>), но результаты являются общим раздражением:

1 
10 
11 
2 
21 
3 
42A 
42B 

Я не могу уйти от включения букв (это название реальных предметов), в то время как я хочу, то к be

1 
2 
3 
10 
11 
21 
42A 
42B 

Предложения?

+0

В тестах по значениям необходимо использовать алгоритм сортировки с parseInt(). – Virus721

ответ

1

Просто используйте яваскрипт array.sort()

кода будет выглядеть следующим образом:

this.items.sort() 

Heres ссылка: Javascript sort reference

+0

На самом деле это выглядело бы так: this.items.sort (function v1, v2) {/ * algorythm here * /}); Алгоритм, где я могу добавить интеллект, который знает о том, что массив хранит объекты, а не значения, и где я могу действительно изучить свойство, на котором я сортирую. Фактически, я могу написать внешнюю функцию и вызвать ее из анонимной функции. Thanks Elisha; это привело меня в норму. –

1

На самом деле, Елисей, это будет выглядеть следующим образом.

items.sort(function (v1, v2) { 
     /* algorythm here */ 
    }); 

алгоритм, где я могу добавить интеллект, который знает о том, что массив держат объекты, а не значение, и где я могу действительно исследовать свойство, на котором я сортировку.

Фактически, я могу написать внешнюю функцию и вызвать ее из анонимной функции.

Thanks Elisha; это привело меня в норму.

Я отвечаю здесь, так что я могу использовать возможность отформатировать ответ. Но Элиша должен получить кредит на этот счет.

Кстати, функция должна возвращать отрицательное число, ноль или положительное число. Знак того, что возвращается, указывает порядок сортировки между двумя переданными аргументами.

Смежные вопросы