递归javascript,请求答案

时间:2017-12-16 12:57:08

标签: javascript recursion

有些人可以帮助我,解决这个递归问题,我们必须安排这个问题,如果下一个字母不是序列,那一定是我们的输出

bool flag = ([[ladiesdetails objectAtIndex:indexPath.row] intValue] == 2)
cell.malebutton.hidden = flag

1 个答案:

答案 0 :(得分:0)

并完全赎回自己!

如果他们不展示自己的作品,那么就喜欢惩罚他们,但我不是一个可以判断的人。如果你自己尝试这些问题,我认为你会学到更多东西,但我知道完全被困惑是什么感觉;我们中间没有善良的灵魂想要让你陷入困境。

考虑到这一点,我确实认为你可以从这个答案中学到很多东西。如果您感到困惑,请仔细研究并提出后续问题。

const ord = c =>
  c.charCodeAt (0)

const isCharSeq = (x, y) =>
  ord (x) + 1 === ord (y)

const dataReducer = ([x, ...xs], last = null, acc = []) =>
  x === undefined
    ? acc.join (',')
  : last === null
    ? dataReducer (xs, x, acc)
  : isCharSeq (last, x)
    ? dataReducer (xs, x, acc)
  : dataReducer (xs, last, acc.concat ([x]))

console.log (dataReducer ('abcdxefgh5wi')) // 'x,5,w'
console.log (dataReducer ('opqrstu'))      // ''
console.log (dataReducer ('acdefghij'))    // 'c,d,e,f,g,h,i,j'
console.log (dataReducer ('testu'))        // 'e,s,t'
console.log (dataReducer ('a'))            // ''
console.log (dataReducer (''))             // ''

dataReducer通过正确的尾调用实现,这意味着它可以进行优化,甚至可以处理数百万或数十亿字符的字符串 - 即使JavaScript VM从不支持这种优化,也不用担心, you can DIY