Port Python-Code in JavaScript
-
22-08-2019 - |
Frage
indices[i:] = indices[i+1:] + indices[i:i+1]
Hope jemand hilft.
Lösung
Ich bin ziemlich neu in Python, aber wenn ich den Code richtig verstehen, rekonstruiert er eine Liste von einem in jedes Element angegebener Offset folgende Offset + 1 und das Element bei der Offset.
Beim Laufen scheint dies zu bestätigen:
>>> 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']
In Javascript geschrieben werden kann:
indices = indices.concat( indices.splice( i, 1 ) );
Samen gesamte Sequenz würde:
>>> 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"]
Das funktioniert, weil Spleiß ist destruktiv auf das Array kehrt aber entfernt Elemente, die dann übergeben werden können, um concat .
Andere Tipps
Sie werden unter 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];
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow