返回Coffeescript中数组的前n个元素
在Coffeescript中返回数组前n个元素的最佳方法是什么?如果数组中的元素少于n个,则应原封不动地返回数组。以下是我提出的两个解决方案: 使用for循环和break:返回Coffeescript中数组的前n个元素,coffeescript,Coffeescript,在Coffeescript中返回数组前n个元素的最佳方法是什么?如果数组中的元素少于n个,则应原封不动地返回数组。以下是我提出的两个解决方案: 使用for循环和break: arr = ["one", "two", "three", "four", "five"] n = 3 firstn = [] for i in [0..n-1] if arr[i] firstn.push(arr[i]) else break 带着一份清单 arr = ["one", "two",
arr = ["one", "two", "three", "four", "five"]
n = 3
firstn = []
for i in [0..n-1]
if arr[i]
firstn.push(arr[i])
else
break
带着一份清单
arr = ["one", "two", "three", "four", "five"]
n = 3
firstn = (arr[i] for i in [0..n-1] when arr[i])
这两种方法都可以,但都不是很干净。第一个问题乍一看不是很清楚。第二个稍好一些,但它不必要地迭代整个数组,并为输出中的每个元素查找两次值。有更好的方法吗?使用数组切片()
如果数组中的元素少于n个(仅返回整个数组),则可以根据需要工作
arr = ["one", "two", "three", "four", "five"]
arr[..2]