Python 3.6:
[f"Cat #{n}" for n in range(5)]
给予
['Cat #0', 'Cat #1', 'Cat #2', 'Cat #3', 'Cat #4']
新入门的JavaScript,在新的EcmaScript中有什么等价物?
发布于 2017-07-26 02:27:12
JS中的Array comprehension是为ES2016提出的,但从未发布到最终版本。Firefox曾一度支持理解,但在后来的版本中放弃了这一支持。
您可以使用Array#from来获得接近理解的内容。
const result = Array.from({ length: 5 }, (_, k) => `Cat #${k}`);
console.log(result);
发布于 2017-07-26 02:24:07
Javascript中没有这么可爱的东西。据我所知,您需要创建一个新的数组,并使用.fill()使每个元素不是undefined。然后,您可以使用.map并返回/处理数组索引而不是值。如下所示:
console.log((new Array(5)).fill(0).map((x,i) => `Cat ${i}`))
你可能会发现生成器很有用:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Generator
发布于 2019-06-12 02:39:08
console.log( [...Array(5)].map((v, i) => `Cat #${i}`) )
如果它也必须在IE中工作:
console.log( Array.apply(0, Array(5)).map(function(v, i) { return 'Cat #' + i; }) )
https://stackoverflow.com/questions/45310911
复制相似问题