Trả về giá trị từ bảng

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Một nhu cầu phổ biến trong nhiều cấu trúc dữ liệu là trả về giá trị. Bài viết này sẽ đề cập đến việc tìm kiếm một bảng sử dụng pairs() hoặc ipairs() cho một nửa của bất kỳ phần tử bảng nào, chẳng hạn như khóa hoặc giá trị, để tìm và trả về nửa còn lại.

Ví dụ sử dụng một mảng liệt kê các con tàu đang chờ sửa chữa. ipairs() được sử dụng để trả về vị trí của một con tàu trong hàng.


local shipToFind = "Void Racer"
-- Các con tàu chờ sửa chữa
local waitingShips = {"Battle Sun", "Void Racer", "The Big Slow"}
-- Lấy vị trí trong hàng
local function getPlaceInLine(shipName)
for placeInLine, ship in ipairs(waitingShips) do
if ship == shipName then
return placeInLine
end
end
end
-- In vị trí trong hàng
local placeInLine = getPlaceInLine(shipToFind)
print("Vị trí của bạn trong hàng là " .. placeInLine)

Ví dụ tìm kiếm từ điển

Bạn đã bao giờ tìm kiếm một con thú cưng bị mất trong nhà đi từng phòng một chưa? Trong mã của bạn, hãy viết một hàm để tìm kiếm qua một từ điển có tên là house để xem phòng nào chứa một chú cún bị mất.

  1. Sao chép từ điển dưới đây để sử dụng như ngôi nhà.


    local house = {
    kitchen = "đống rác",
    livingRoom = "mèo con",
    bedroom1 = "không có ai ở đó",
    bedroom2 = "cún con",
    }
  2. Tạo một hàm mới có tên là findPet() để tìm kiếm trong từ điển. Bao gồm các tham số cho từ điển cần tìm kiếm, và giá trị cần tìm.

  3. Sử dụng pairs() để lặp qua từ điển. Hãy thử viết mã của riêng bạn trước khi kiểm tra với giải pháp bên dưới.


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    end
    end
  4. Khi vòng lặp for lặp qua từ điển, sử dụng return để trả về phòng nơi con thú cưng được tìm thấy.


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    if value == searchFor then
    return place
    end
    end
    end
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.