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

-3">
/em
edded/result,js,html,css/"> . Дон'т хотите пойти с этим подходом.

Решение / Ответ

Это ограничение JavaScript не угловая.

От В ECMAScript Третье Издание:

4.3.3 объект является членом объекта типа. Это неупорядоченные коллекции свойств, каждое из которых содержит примитивный значение, объект или функцию. Функция хранится в свойство > у объекта вызывается метод.

Из Спецификации Языка ECMAScript

в [...] порядок перечисления свойств [...] не указан.

Угловые рода объект ключи явно для того, чтобы обеспечить хоть какое-то настойчивое поведение.

Решение чтобы перебирать извлеченные ключи:

<div ng-repeat="key in keys(Dates)">
  {{key}} ==> {{Dates[key]}}
</div>
$scope.keys = function(obj){
  return obj? Object.keys(obj) : [];
}

$scope.Dates = {
  "Today":"30",
  "This Week":"42",
  "This Month": "Oct",
  "This Quarter" : "Bad",
  "This Year" : 2013
};
Хотите что-то узнать? Задавайте Ваш вопрос на нашем сайте
ru.kzen.dev

Редактировать: я'вэ подал ошибка, не стесняйтесь +1

ECMAScript не указать порядок, в котором ключи должны быть повторяемыми, однако все основные браузеры реализуют объекты, как связанные хэш-карты (сохраняет порядок) и множество JS библиотек от этого зависит поведение и так мы'вэ привык к ней и она'ы вряд ли изменится.

Угловой с другой стороны (что является совершенно неожиданный) сортирует его по алфавиту. Я'вэ осмотрел исходный код сам, это жестко там и было бы хорошо, если бы проблема разрешилась за один день. В противном случае (к, в) в obj функция полностью бесполезный.

Вы действительно ничего не может сделать с этим, обманывая угловой думать, что ваш результат-это массив это не полезно на все, потому что вам нужно цифровых клавиш, затем...

Если это так, вы можете определить геттер для длины:

Object.defineProperty(yourResultObjectOrPrototype, 'length', {
  get: function(){
    return Object.keys(this).length;
  }
})

В противном случае вы'МР нужен какой-то фильтр, который будет итерировать объект, используя для(ВАР к в OBJ) и результат хранить в массиве.

Хотите что-то узнать? Задавайте Ваш вопрос на нашем сайте
ru.kzen.dev

Там есть ответ: это's посетило orderby и не нам

https://docs.angularjs.org/api/ng/filter/orderBy

{{ orderBy_expression | заказатьпо : выражение : реверс}}

<tr ng-repeat="friend in friends | orderBy:'-age'">
      <td>{{friend.name}}</td>
      <td>{{friend.phone}}</td>
      <td>{{friend.age}}</td>
    </tr>

Ваш список просто должен быть список, и вы, возможно, нужен индекс, чтобы знать установленном порядке

$scope.Dates = [{index:1, "Today":"30"},
                  {index:2,"This Week":"42"},
                  {index:3,"This Month": "Oct"},
                  {index:4,"This Quarter" : "Bad"},
                  {index:5,"This Year" : 2013}]

а потом

<tr ng-repeat="(key, value) in Dates | orderBy:'index'">
          <td>{{key}}</td>
          <td>{{value}}</td>
         </tr>

Это фиксированная угловых 1.4.

Подробности здесь:

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

теперь, порядок элементов зависит от браузера, на основании того, что вернулся из прохода на объект, используя для ключей в синтаксис obj-файлы`.

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

Хотите что-то узнать? Задавайте Ваш вопрос на нашем сайте
ru.kzen.dev

Мне удалось отсортировать объект строки по ключу в алфавитном порядке, как это с НГ-повторите!

В мой контроллер:

$scope.build_config = {
  build_path :  "/x/eng/build",
  arch : "x86",
  variant : "debug",
  run_method : "boot", 
};

$scope.get_keys = function (obj) {
  if (obj)
    return Object.keys(obj);
};

В моем HTML-код:

<tr ng-repeat="key in get_keys(build_config) | orderBy:'toString()'">
      <td> {{key}} </td>
      <td> {{selected.build_config[key]}} </td>
</tr>

Объект.ключи не'т оставляем заказ - к вашему сведению https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

// массив как объект, с помощью случайного ключа заказ

var an_obj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(an_obj)); // console: ['2', '7', '100']

Я преобразовать его в массив объектов

$scope.Dates = [
        { id: "Today",        value:"30" },
        { id: "This Week",    value:"42" },
        { id: "This Month", value: "Oct" },
        { id: "This Quarter", value : "Bad" },
        { id: "This Year",    value : 2013 }
    ];

<li ng-repeat="date in Dates">{{date.id}} -> {{date.value}}</li>

Хотите что-то узнать? Задавайте Ваш вопрос на нашем сайте
ru.kzen.dev

Ну, как описано в угловой's документация для ngRepeat

https://docs.angularjs.org/api/ng/directive/ngRepeat#iterating-over-object-properties

при использовании его для перебора свойств объекта, он не будет работать

встроенный фильтр orderby и фильтр не работают с объектами, а выдаст ошибку, если используется с одним.

Лучшее решение в данном случае, я думаю, что использование массивов вместо объектов и их свойств. Поэтому просто преобразовать его в массив, перебирает свойства объекта и толкает в новый массив например. В конце концов, я думаю, что будет естественным выбором для коллекции, а не один объект с несколькими свойствами.

Похожие сообщества 5
Android Developers
11 193 пользователей
Общаемся на темы, посвящённые нативной Android-разработке. + Про Android NDK: @ndk_ru + Про iOS: @ios_ru + Вакансии: @mobile_jobs Рекомендуем отключить уведомления, чтобы пребывание было комфортным.
Общаемся на темы Angular 4+, его экосистемы, TypeScript, NativeScript и т.д. По вопросам SSR, Angular Universal @angular_universal_ru См. также: @rxjs_ru, @ts_ru, @react_js, @nodejs_ru, @js_ru Вакансии и поиск работы: @angular_jobs @javascript_jobs
Angular
3 446 пользователей
Группа для разработчиков на Angular 2+
Angular-universal-ru
641 пользователей
Общаемся на темы SSR, Angular Universal. GitHub: https://goo.gl/ozFA8i По вопросам Angular 4+, его экосистемы, TypeScript, NativeScript и т.д. @angular_ru См. также: @typescript_ru, @react_js, @nodejs_ru, @js_ru. Вакансии и поиск работы: @javascript_jobs
Общаемся и обсуждаем темы, посвященные Angular 1.x и экосистеме. См. также: @react_js, @js_ru, @javascript_jobs Рекомендуем сразу отключить уведомления, чтобы пребывание в данном чате было полезным и комфортным. Sponsored by www.axept.co