시퀀스에 대한 Python '열거'에 해당하는 ES6은 무엇입니까?
파이썬에는 반복 가능한 쌍 을 얻기 위한 내장 함수가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']
없는 ES6 동등물 enumerate
:
function elements_with_index(elements){
return elements.map(element => elements.indexOf(element) + ':' + element);
}
console.log(elements_with_index(['a','b']))
//[ '0:a', '1:b' ]
예, 확인하십시오 Array.prototype.entries()
.
Array.prototype.map
이미 콜백 프로시저에 대한 두 번째 인수로 인덱스를 제공합니다... 그리고 거의 모든 곳 에서 지원됩니다 .
['a','b'].map(function(element, index) { return index + ':' + element; });
//=> ["0:a", "1:b"]
나도 ES6 좋아해
['a','b'].map((e,i) => `${i}:${e}`)
//=> ["0:a", "1:b"]
let array = [1, 3, 5];
for (let [index, value] of array.entries())
console.log(index + '=' + value);
제가 무지한 경우 실례합니다. (여기서는 JavaScript에 대한 약간의 초보자입니다), 하지만 그냥 사용할 수 forEach
없습니까? 예:
function withIndex(elements) {
var results = [];
elements.forEach(function(e, ind) {
results.push(`${e}:${ind}`);
});
return results;
}
alert(withIndex(['a', 'b']));
이 특정 사용 사례에 더 적합한 naomik의 답변 도 있지만 forEach
청구서에도 부합 한다는 점을 지적하고 싶었습니다 .
ES5+가 지원됩니다.
pythonic
enumerate
배열뿐만 아니라 모든 iterable에서 작동 하는 함수를 제공하고 python과 같은 Iterator를 반환합니다 .
import {enumerate} from 'pythonic';
const arr = ['a', 'b'];
for (const [index, value] of enumerate(arr))
console.log(`index: ${index}, value: ${value}`);
// index: 0, value: a
// index: 1, value: b
공개 저는 Pythonic의 저자이자 유지 관리자입니다.
같은 Kyle
과 Shanoor
말은 ) (Array.prototype.entries
그러나 나 같은 초보자에게는 그 의미를 완전히 이해하기 어렵습니다.
그래서 여기에 이해할 수있는 예를 들어보십시오.
for(let curIndexValueList of someArray.entries()){
console.log("curIndexValueList=", curIndexValueList)
let curIndex = curIndexValueList[0]
let curValue = curIndexValueList[1]
console.log("curIndex=", curIndex, ", curValue=", curValue)
}
python
코드 와 동일 :
for curIndex, curValue in enumerate(someArray):
print("curIndex=%s, curValue=%s" % (curIndex, curValue))
}
ReferenceURL : https://stackoverflow.com/questions/34336960/what-is-the-es6-equivalent-of-python-enumerate-for-a-sequence
'IT이야기' 카테고리의 다른 글
Xcode의 임베디드 바이너리는 무엇입니까? (0) | 2021.09.25 |
---|---|
Angular2 + Jspm.io : 클래스 데코레이터를 사용할 때 메타데이터 반사 심이 필요합니다. (0) | 2021.09.25 |
문자열 리터럴 대신 문자열에 대해 사용자 정의 리터럴을 사용할 때의 이점 (0) | 2021.09.25 |
FutureWarning: 요소별 비교에 실패했습니다. (0) | 2021.09.25 |
IE8 오버플로:최대 높이가 있는 자동 (0) | 2021.09.25 |