不久前我发布了一个THIS关于 lua.vm.js 和 javascript 之间交互的问题。
现在我有一个稍微不同的问题:
假设我在 REPL 中有以下代码
model = {}
model['test1'] = 1
model['test3'] = 2
model['test4'] = 3
model['test5'] = 4
model['test6'] = 5
local window = js.global
window.model = model
因为我正在使用 lua.vm.js,所以现在我可以通过 javascript 获取所有值
window.model.get('test1')
window.model.get('test2')
window.model.get('test3')
但问题是我必须事先知道表中的条目是“test1”、“test2”等。
在 javascript 中是否有一种方法(或者可能通过添加更多 Lua 代码)让我可以在不知道所有条目的情况下迭代整个表格?
提前致谢!
最佳答案
我认为获取model
中键列表的最简单方法是直接使用Lua。
据我所知,lua.vm.js
表对象不支持迭代,但您可以通过 JavaScript 执行此操作:
my_keys = L.execute('local r = {}; for k in pairs(model) do r[#r+1] = k end; return unpack(r)')
然后你可以像这样循环:
for (var i in my_keys) {
console.log(my_keys[i], window.model.get(my_keys[i]));
}
关于javascript - 使用 lua.vm.js 在 javascript 中迭代 Lua 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386641/