2009-05-16 2 views
0
indices[i:] = indices[i+1:] + indices[i:i+1] 

누군가 도움이 되길 바랍니다.자바 스크립트로 포트 파이썬 코드

+0

try google ...... –

+1

파이썬에 익숙하지 않으므로이 기능이 무엇인지 잘 모릅니다. 한 문장으로 설명 될 수있는 것처럼 보입니다. 그럼 내가 도울 수있어. –

답변

6

보고 싶지하지만 내가 코드를 올바르게 이해한다면, 그것은이 모든 항목에 지정된 오프셋 (offset)에서 목록을 재구성은 + 1 오프셋 다음 오프셋의 항목

가이를 확인하는 것 실행 :

자바 스크립트에서
>>> indices = ['one','two','three','four','five','six'] 
>>> i = 2 
>>> indices[i:] = indices[i+1:] + indices[i:i+1] 
>>> indices 
['one', 'two', 'four', 'five', 'six', 'three'] 

쓸 수 있습니다 :

indices = indices.concat(indices.splice(i, 1)); 

같은 전체 시퀀스는 갈 것 :

>>> var indices = ['one','two','three','four','five','six']; 
>>> var i = 2; 
>>> indices = indices.concat(indices.splice(i, 1)); 
>>> indices 
["one", "two", "four", "five", "six", "three"] 

을이 작동 splice가 파괴 때문에 배열로 반환하지만 제거 된 요소를 반환하면로 넘겨 질 수 있습니다..

+0

마지막 문장은 MDC의 메소드에 대한 일부 링크에 맞도록 고안된 것이 분명합니까? :-) – Borgar

+0

어떤 자바 스크립트 명령 줄입니까? –

+4

이것은 가상의 명령 행입니다. FireBug로 코드를 실행했지만 결국 파이썬 블록과 똑같이 보이도록하기 위해 >>>를 추가했습니다. :-) – Borgar

1

당신은 내가 파이썬에 비교적 새로운 해요 Array.slice()

var temp=indices.slice(i+1).concat(indices.slice(i, i+1)); 
var arr=[]; 
for (var j=0; j<temp.length; j++){ 
    arr[j+i]=temp[i]; 
} 
관련 문제