从连续数字生成数字序列

时间:2018-05-30 06:28:40

标签: javascript

我有一个场景,我得到连续数字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);
  }
}

但这并没有给我正确的序列

有人可以帮忙吗?

2 个答案:

答案 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