将python代码移植到javascript

ken*_*ken 0 javascript python porting

indices[i:] = indices[i+1:] + indices[i:i+1]
Run Code Online (Sandbox Code Playgroud)

希望有人帮忙.

Bor*_*gar 6

我对Python很新,但如果我正确理解代码,它会将给定偏移量的列表重建为偏移+ 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']
Run Code Online (Sandbox Code Playgroud)

在Javascript中可以写:

indices = indices.concat( indices.splice( i, 1 ) );
Run Code Online (Sandbox Code Playgroud)

相同的整个序列将会:

>>> 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"]
Run Code Online (Sandbox Code Playgroud)

这是因为splice对数组具有破坏性,但返回已删除的元素,然后可以将其传递给concat.

  • 这是一个虚构的命令行.我使用FireBug运行代码,但最后添加了>>>只是为了使它看起来与Python块相同.:-) (4认同)