【发布时间】:2016-03-24 01:28:24
【问题描述】:
Python 有一个 built-in function enumerate,用于获取 (index, item) 对的可迭代对象。
ES6 是否有数组的等价物?这是什么?
def elements_with_index(elements):
modified_elements = []
for i, element in enumerate(elements):
modified_elements.append("%d:%s" % (i, element))
return modified_elements
print(elements_with_index(["a","b"]))
#['0:a', '1:b']
没有enumerate的ES6等价物:
function elements_with_index(elements){
return elements.map(element => elements.indexOf(element) + ':' + element);
}
console.log(elements_with_index(['a','b']))
//[ '0:a', '1:b' ]
【问题讨论】:
-
但是 map 或 forEach 已经这样做了,可以同时获取元素和索引
-
正如@juvian 所说,为什么不直接使用地图中可用的索引呢?
elements.map(( element, i ) => `${ i }:${ element }`); -
@JamesAllardice 与来自 mozilla 的文档:
elements.map((element,index) => index + ':' + element)
标签: javascript functional-programming ecmascript-6