Table

ฟังก์ชันจัดการตารางที่ใช้ได้ทั้ง Client และ Server ผ่าน ESX.Table.*

ฟังก์ชัน Table (ESX.Table.*)

หน้านี้รวบรวมฟังก์ชันอรรถประโยชน์สำหรับจัดการตาราง (table) ในภาษา Lua

เรียกใช้งานผ่าน ESX.Table.* และใช้ได้ทั้งฝั่ง Client และ Server

circle-info

ฟังก์ชันในหน้านี้สามารถใช้งานได้ทั้ง Client และ Server

ข้อควรรู้ก่อนใช้งาน

  • หลายฟังก์ชันในหน้านี้ทำงานกับ "ตารางแบบ Array" (index เรียง 1..n)

  • ฟังก์ชันส่วนใหญ่จะ “คืนตารางใหม่” และไม่แก้ไขตารางต้นฉบับ

  • หากเป็นตารางแบบ key/value (เช่น {name = 'alice'}) ให้เลือกฟังก์ชันให้เหมาะสม


ESX.Table.Clone

สร้างสำเนาแบบ deep copy ของตาราง พร้อมคง metatable เดิมไว้

รูปแบบการใช้งาน (Syntax)

ESX.Table.Clone(tbl)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

ตารางที่ต้องการทำสำเนา

ค่าที่ส่งคืน (Returns)

Type
Description

table

ตารางสำเนาแบบ deep copy

ตัวอย่างการใช้งาน (Example)


ESX.Table.Concat

รวม Array 2 ชุดเข้าด้วยกัน แล้วคืนค่าเป็น Array ใหม่ (ไม่แก้ไขของเดิม)

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl1

table

Array ชุดแรก

tbl2

table

Array ชุดสอง

ค่าที่ส่งคืน (Returns)

Type
Description

table

Array ที่ถูกรวมแล้ว

ตัวอย่างการใช้งาน (Example)


ESX.Table.Filter

กรองสมาชิกใน Array ด้วย callback และคืนค่าเฉพาะรายการที่ callback คืน true

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการกรอง

cb

function

ฟังก์ชันทดสอบ function(element) → boolean

ค่าที่ส่งคืน (Returns)

Type
Description

table

Array ใหม่ที่ผ่านการกรอง

ตัวอย่างการใช้งาน (Example)


ESX.Table.Find

คืนค่าสมาชิกตัวแรกใน Array ที่ผ่านเงื่อนไขของ callback

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการค้นหา

cb

function

ฟังก์ชันทดสอบ function(element) → boolean

ค่าที่ส่งคืน (Returns)

Type
Description

any

สมาชิกตัวแรกที่พบ หรือ nil หากไม่พบ

ตัวอย่างการใช้งาน (Example)


ESX.Table.FindIndex

คืนค่า “ตำแหน่ง (index)” ของสมาชิกตัวแรกที่ผ่านเงื่อนไขของ callback

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการค้นหา

cb

function

ฟังก์ชันทดสอบ function(element) → boolean

ค่าที่ส่งคืน (Returns)

Type
Description

number

index ที่พบ หรือ -1 หากไม่พบ

ตัวอย่างการใช้งาน (Example)


ESX.Table.IndexOf

ค้นหา index ของ "ค่าที่ระบุ" ที่พบครั้งแรกใน Array

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการค้นหา

value

any

ค่าที่ต้องการค้นหา

ค่าที่ส่งคืน (Returns)

Type
Description

number

index ของค่า หรือ -1 หากไม่พบ

ตัวอย่างการใช้งาน (Example)


ESX.Table.LastIndexOf

ค้นหา index ของ "ค่าที่ระบุ" ที่พบครั้งสุดท้ายใน Array

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการค้นหา

value

any

ค่าที่ต้องการค้นหา

ค่าที่ส่งคืน (Returns)

Type
Description

number

index สุดท้ายของค่า หรือ -1 หากไม่พบ

ตัวอย่างการใช้งาน (Example)


ESX.Table.Map

แปลงสมาชิกทุกตัวใน Array ด้วย callback แล้วคืนค่าเป็น Array ผลลัพธ์ใหม่

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการแปลง

cb

function

ฟังก์ชันแปลงค่า function(element, index) → new value

ค่าที่ส่งคืน (Returns)

Type
Description

table

Array ผลลัพธ์หลังแปลงค่า

ตัวอย่างการใช้งาน (Example)


ESX.Table.Reverse

คืนค่าเป็น Array ใหม่ โดยกลับลำดับสมาชิกจากหลังไปหน้า

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการกลับลำดับ

ค่าที่ส่งคืน (Returns)

Type
Description

table

Array ใหม่ที่กลับลำดับแล้ว

ตัวอย่างการใช้งาน (Example)


ESX.Table.Set

แปลง Array ให้เป็น "เซ็ต" ในรูปแบบ {[value] = true} เพื่อใช้เช็คสมาชิกได้เร็วขึ้น

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการแปลงเป็นเซ็ต

ค่าที่ส่งคืน (Returns)

Type
Description

table

ตารางแบบเซ็ต {[value] = true} สำหรับทุกสมาชิก

ตัวอย่างการใช้งาน (Example)


ESX.Table.SizeOf

นับจำนวน entry ทั้งหมดในตาราง (รวม key ที่ไม่เรียงลำดับแบบ Array)

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

ตารางที่ต้องการนับจำนวน entry

ค่าที่ส่งคืน (Returns)

Type
Description

number

จำนวน entry ทั้งหมด

ตัวอย่างการใช้งาน (Example)


ESX.Table.Sort

คืนค่าเป็น iterator สำหรับวนลูป key/value ของตาราง โดยเรียง key ตามลำดับ

สามารถส่งฟังก์ชัน order เพื่อกำหนดการเรียงแบบกำหนดเองได้

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

ตารางที่ต้องการวนลูปแบบเรียงลำดับ

order

function

(ไม่บังคับ) ฟังก์ชันเรียง function(tbl, a, b) → boolean

ค่าที่ส่งคืน (Returns)

Type
Description

function

iterator ที่คืนค่า key, value ตามลำดับที่ถูกเรียงแล้ว

ตัวอย่างการใช้งาน (Example)

circle-info

เหมาะกับตารางแบบ key/value เช่น {name = score} มากกว่าตารางแบบ Array


ESX.Table.Join

รวมสมาชิกใน Array ให้เป็น string เดียว โดยคั่นด้วยตัวคั่นที่ระบุ

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

tbl

table

Array ที่ต้องการนำมารวมเป็นข้อความ

sep

string

(ไม่บังคับ) ตัวคั่น (ค่าเริ่มต้น: ',')

ค่าที่ส่งคืน (Returns)

Type
Description

string

ข้อความหลังรวมแล้ว

ตัวอย่างการใช้งาน (Example)

Last updated