我有一个场景,我得到连续数字0,20,40,60,80 ...... 我想生成1,2,3,4,5
如果我得到0则生成1 如果20然后生成2等等..
现在我正在做:
function generateSequence(consecutiveSequence)
{
if(consecutiveSequence === 0)
{
console.log(1)
}
else
{
console.log(consecutiveSequence / 10);
}
}
但这并没有给我正确的序列
有人可以帮忙吗?
答案 0 :(得分:0)
基于期望的结果,这将在给定的情况下起作用:
var array = []; // Global array
function generateNumber(item) { // function called on every item
array[array.length] = array.length + 1; // array.length will be longer each iteration
console.log(array);
}
var num = [0, 20, 40, 60, 80];
num.forEach(function (e) {
generateNumber(e);
});

我真的不知道序列应该如何工作,前两个数字是由你的算法生成的,其他数字需要一个(x / 2)才能工作......
答案 1 :(得分:-1)
您可以像这样简单地使用local scoretbl = {}
for i = 1,10 do
table.insert(scoretbl, { name = 'Name '..i, score = 100*i })
end
local function AddToTable(name, score)
-- Walk the whole table to find whether a name exists
for i,v in ipairs(scoretbl) do
if v.name == name then
-- if the record is present, update it
scoretbl[i].score = score
return
end
end
-- Insert new record
table.insert(scoretbl, { name = name, score = score })
end
AddToTable('User 55', 5454) -- 11 users
AddToTable('User 55', 5454) -- check: only one username in table
AddToTable('User 32', 5454) -- 12 users
local function ShowOnly10()
table.sort(scoretbl,function(a,b) return a.score > b.score end)
for i = 1,math.min(#scoretbl,10) do
print(i, scoretbl[i].name, scoretbl[i].score)
end
end
ShowOnly10()
循环:
forEach