首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列的Python 'enumerate‘的ES6等价物是什么?

序列的Python 'enumerate‘的ES6等价物是什么?
EN

Stack Overflow用户
提问于 2015-12-17 22:25:51
回答 6查看 44.1K关注 0票数 144

Python有一个内置函数enumerate,以获取可迭代的(index, item)配对。

ES6是否有对应于数组的等价物?这是什么?

代码语言:javascript
复制
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']

不带的ES6等效项enumerate

代码语言:javascript
复制
function elements_with_index(elements){
     return elements.map(element => elements.indexOf(element) + ':' + element);
 }

console.log(elements_with_index(['a','b']))
//[ '0:a', '1:b' ]
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-12-17 22:28:00

是的,有,请结账。Array.prototype.entries()..。

代码语言:javascript
复制
const foobar = ['A', 'B', 'C'];

for (const [index, element] of foobar.entries()) {
  console.log(index, element);
}

票数 178
EN

Stack Overflow用户

发布于 2015-12-18 09:45:18

Array.prototype.map

Array.prototype.map已经将索引作为回调过程的第二个参数提供给您...它是支持几乎无处不在。

代码语言:javascript
复制
['a','b'].map(function(element, index) { return index + ':' + element; });
//=> ["0:a", "1:b"]

我也喜欢ES6

代码语言:javascript
复制
['a','b'].map((e,i) => `${i}:${e}`)
//=> ["0:a", "1:b"]

让它变得懒惰

但是,python的enumerate是懒惰的,所以我们也应该对这个特征进行建模-

代码语言:javascript
复制
function* enumerate (it, start = 0)
{ let i = start
  for (const x of it)
    yield [i++, x]
}

for (const [i, x] of enumerate("abcd"))
  console.log(i, x)

代码语言:javascript
复制
0 a
1 b
2 c
3 d

指定第二个参数,start,允许调用者控制索引的转换-

代码语言:javascript
复制
for (const [i, x] of enumerate("abcd", 100))
  console.log(i, x)
代码语言:javascript
复制
100 a
101 b
102 c
103 d
票数 40
EN

Stack Overflow用户

发布于 2018-08-04 16:21:06

代码语言:javascript
复制
let array = [1, 3, 5];
for (let [index, value] of array.entries()) 
     console.log(index + '=' + value);

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34336960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档