Форум программистов, компьютерный форум, киберфорум
Наши страницы

Lua

Войти
Регистрация
Восстановить пароль
 
borgetko
0 / 0 / 0
Регистрация: 11.07.2015
Сообщений: 6
#1

Сортировка таблицы с объектами - Lua

27.09.2017, 06:53. Просмотров 136. Ответов 1
Метки нет (Все метки)

Здравствуйте. Есть таблица вида
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Table = 
{
 ["Сыр"] =
  {
    id = 1
    value = 165 
    name = "В упаковке"
  },
 ["Хлеб"] =
  {
    id = 3
    value = 34 
    name = "Черный"
  },
 ["Масло"] =
  {
    id = 8
    value = 148 
    name = "Сливочное"
  }
}
Необходимо произвести сортировку по полю value
Пробовал table.sort(Table, function(a,b) return a.value < b.value end), но не работает, т.к. полагаю, что нет индексации.
Пробовал сделать функцию сортировки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function MakeSortTable()
    local TempTable = Table
    TableSorted = {}
    local i = 1
    for Uname1, Obj1 in pairs(Table) do
        local val1 = Obj1.distance
        local j = 1
        local tempi = 1
        for Uname2, Obj2 in pairs(TempTable) do
            local val2 = Obj2.distance
            if j ~= i then
                if val2 <  val1 then
                    val1 = val2
                    tempi = j
                    table.remove(TempTable,Uname2)
                end
            end
            j = j + 1
        end
        local k = 1
        for Uname3, Obj3 in pairs(TableSorted) do
            if k == tempi then
                TableSorted[Uname3] = {
                                        name = Obj3.name,
                                        value = Obj3.value,
                                        id = Obj3.id
                                        }
            end
            k = k + 1
        end
        i = i + 1
    end
    return TableSorted
end
но столкнулся с тем что table.remove(TempTable,Uname2) не работает, т.к. не нравится строковое значение вместо индекса.
Подскажите пожалуйста как решить данную задачу.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2017, 06:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка таблицы с объектами (Lua):

Сортировка таблицы - Lua
Здравствуйте, Подскажите пожалуйста, не могу разобраться с простой вещью, вот создал я таблицу: function CreateTable() t_id...

Сортировка массива с объектами класса - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class tovary { private: string name; double cina; int kod; ...

Вывод и сортировка коллекции с объектами - C#
Подскажите как можно вывести элементы из ArrayList, а затем отсортировать их. В плюсах делал для List так: #include list; ... ...

заполнение таблицы графическими объектами - VBA
Здравствуйте! помогите составить программку по заполнению таблицы excel. нужно чтобы строки условное обозначение заполнялись в зависимости...

Создание таблицы с объектами в последней ячейке - PHP
Ребят, нужна хелпа. Такая проблема. Хочу выгрузить данные из БД в таблицу, и, вместе с тем, необходимо создать объекты(кнопки:...

Сохранение таблицы StringGrid вместе с объектами - Lazarus
Доброго времени суток. Есть StringGrid с закрашенными ячейками. Как сохранить таблицу вместе с цветами ячеек?

1
vantfiles
24 / 24 / 11
Регистрация: 07.05.2013
Сообщений: 91
28.09.2017, 11:43 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
В Lua таблицы со строковыми ключами не имеют порядка - вам необходимо перейти к таблице с числовыми ключами.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2017, 11:43
Привет! Вот еще темы с ответами:

1C 8.x (тонкий) Сортировка Таблицы формы (полученной из Дерева значений) по клику на заголовки таблицы - 1С
Добрый день уважаемые форумчане ... Есть проблема - прошу совета у Гуру ... Пришлось для списка Документов сделать Дерево значений и...

Сортировка таблицы - C++
Задача отсортировать таблицу по ключу (в качестве ключа использовать имя), используя qSort. Таблицу я такой структурой задал struct...

Сортировка таблицы - JavaScript
Доброго времени суток, возник вопрос, как мне сделать сортировку таблицы с расписанием авиарейсов. Суть такова, какие-то рейсы прибывают,...

Сортировка таблицы - Базы данных
Здравствуйте, имеется две таблицы dbf. С помощью вот этого запроса из файла org_out_2016_52 удаляюсть строки с похожими данными в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru