Как я получаю количество ключей в хэш-таблице в Lua?

В моем случае сравниваемые массивы содержат только числа и строки. Эта функция покажет вам, содержат ли массивы одинаковые элементы.

function are_arrs_match(arr1, arr2){
    return arr1.sort().toString() === arr2.sort().toString()
}

Давайте проверим это!

arr1 = [1, 2, 3, 'nik']
arr2 = ['nik', 3, 1, 2]
arr3 = [1, 2, 5]

console.log (are_arrs_match(arr1, arr2)) //true
console.log (are_arrs_match(arr1, arr3)) //false
42
задан Dheer 17 March 2009 в 14:48
поделиться

2 ответа

Я экспериментировал и с # оператором и с table.getn (). Я думал, что table.getn () сделает то, что Вы хотели, но как оказалось, он возвращает то же значение как #, а именно, 0. Кажется, что словари вставляют нулевых заполнителей по мере необходимости.

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

21
ответ дан Aaron Saarela 4 August 2019 в 20:14
поделиться

оператор длины:

длина таблицы t определяется, чтобы быть любым целочисленным индексом n, таким образом, что t [n] не является нолем, и t [n+1] является нолем; кроме того, если t[1] является нолем, n может быть нулем. Для эквидистантной антенной решетки, с ненулевыми значениями от 1 до данного n, его длина состоит точно в том что n, индекс его последнего значения. Если массив имеет "дыры" (то есть, нулевые значения между другими ненулевыми значениями), то #t может быть любым из индексов, который непосредственно предшествует нулевому значению (то есть, это может рассмотреть любое такое нулевое значение как конец массива).

поэтому только способ получить длину, выполняют итерации по нему.

7
ответ дан LawsDontApplyToPigs 4 August 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: