-- 对表格中每一个值执行一次指定的函数,如果该函数返回 false,则对应的值会从表格中删除 -- @function [parent=#table] filter -- @param table t 表格 -- @param function fn 函数 -- 对表格中每一个值执行一次指定的函数,如果该函数返回 false,则对应的值会从表格中删除 local t = {name = "dualface", comp = "chukong"} table.filter(t, function(v, k) return v ~= "dualface"-- 当值等于 dualface 时过滤掉该值 end) -- 输出修改后的表格内容 for k, v inpairs(t) do print(k, v) end -- 输出 -- comp chukong
-- fn 参数指定的函数具有两个参数,并且返回一个 boolean 值。原型如下: functionmap_function(value, key) returntrueorfalse end
11.table.unique(array)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-- 遍历表格,确保其中的值唯一 -- @function [parent=#table] unique -- @param table array 数组 -- @return table#table 包含所有唯一值的新表格 -- 遍历表格,确保其中的值唯一 local t = {"a", "a", "b", "c"} -- 重复的 a 会被过滤掉 local n = table.unique(t) for k, v inpairs(n) do print(v) end -- 输出 -- a -- b -- c