咖啡脚本数组,对象

Coffee Script Array, Object

# String of Markdown in DB
beforeMark = @content

# Render string of markdown to html string
afterMark = marked(beforeMark)

# Parse the html to HTML to extract 0, 2, 4th children node (elements)
finalMark = $.parseHTML(afterMark)

# Help needed HERE
# Get 0 2 4th elements if they exist.
# ex) if array has 4 keys, return 0, 2th
#     if array has 7 keys, return 0, 2, 4th
#     if array has 3 keys, return 0, 2th
#     if array has 1 key, return 0th
stringMark = $(finalMark[0]).prop('outerHTML') + $(finalMark[2]).prop('outerHTML') + $(finalMark[2]).prop('outerHTML')

我写了上面的 coffeescript,将降价字符串截断为 3 个元素的 html。

我需要最后一部分更有效和适当,以便它 returns 数组的第 0、2、4 个键,但前提是它们存在。

我是咖啡新手,需要帮助!!

如果我理解正确的话,我相信你想要这样的东西:

stringMark = ''
for data, index in finalMark when index in [0, 2, 4]
  stringMark += data.prop 'outerHTML'

或者如果你喜欢一点代码高尔夫:

stringMark = (v.prop 'outerHTML' for v, i in finalMark when i in [0, 2, 4]).join ''