Простое и быстрое решение этой проблемы с использованием наследования прототипа:
Array.prototype.sortBy = function(p) {
return this.slice(0).sort(function(a,b) {
return (a[p] > b[p]) ? 1 : (a[p] < b[p]) ? -1 : 0;
});
}
Пример / Использование
objs = [{age:44,name:'vinay'},{age:24,name:'deepak'},{age:74,name:'suresh'}];
objs.sortBy('age');
// Returns
// [{"age":24,"name":"deepak"},{"age":44,"name":"vinay"},{"age":74,"name":"suresh"}]
objs.sortBy('name');
// Returns
// [{"age":24,"name":"deepak"},{"age":74,"name":"suresh"},{"age":44,"name":"vinay"}]
Обновление: больше не изменяет исходный массив.
=(ROW()-1)*10
A1:A100
0
в A1
10
в A2
20
в A3
A1:A3
A3
, затем перетащите вниз до A100
. =ARRAYFORMULA({0; ROW(A1:A100)&0})
или:
=ARRAYFORMULA({0\ ROW(A1:A100)&0})
<час> , если вам нужны действительные числа, используйте:
[ 112]или:
=ARRAYFORMULA({0\ VALUE(ROW(A1:A100)&0)})