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

誰かが助けてくれるでしょう。javascriptへのポートのPythonコード

+0

try google ...... –

+1

これはPythonに慣れていないので、わかりません。それは文で説明することができるようです。それから私は助けようとする可能性があります。 –

答えて

6

を見てみたいと思うでしょうオフセットの項目。この確認のためと思われる実行

:JavaScriptで

>>> 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

どのようなjavascriptコマンドラインですか? –

+4

これは架空のコマンドラインです。 FireBugでコードを実行しましたが、最後に>>>を追加するだけで、Pythonブロックと同じに見えるようになりました。 :-) – Borgar

1

あなたは私は、Pythonにかなり新しいですが、私はコードを正しく理解すれば、それは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]; 
} 
関連する問題