其實在使用了好一段時間的 python之后,我覺得最讓我念念不忘的並不是python每次在寫函數或者循環的時候可以少用{}括號這樣的東西(ps:其實也是了。。感覺很清爽,而且又開始寫js的時候老是想用xxx in range(): ...跪。:( )
而是我覺得字符串操作的切片真實讓我感到前所未有的爽。
試想一下,我們平時操作最多的數組和字符串在切片的幫助下,不知道可以省去多少時間和麻煩。而且有了切片甚至不用去記很多可以被切片代替的api。
今天我在啃《學習javascript數據結構與算法》的時候,無意中發現js其實合理利用
Array.prototype.splice()
這家伙,也能輕松實現切片的效果,而不需要再去記那些繁瑣的api。
例如 我這里先申明一個下面用到的實驗數組
var laplace = [0,1,2,3,4,5,6,7,8]
然后我要往刪除數組里面第一個元素 按照切片的寫法應該是
laplace = laplace[1:]
而javascript 可以使用unshift()方法來實現 也可以使用我這里說到的類似於切片操作的 splice()方法
laplace.splice(0,1);
返回被刪除的第一個元素。
splice()方法 第一個參數代表操作數組的起始位置,第二個參數代表刪除元素的個數,第三個參數往后,是要添加到數組里的值。
那么如果要刪除該數組里面的最后一個參數可以使用
laplace.splice(laplace.lenth-1,1);
也不用去記shift() and unshift()類似的api了。感覺是不是有點方便?
然而這里要特別注意一下。。python切片的抽象等級遠遠高於 這里的僅僅能對數組使用的splice方法。 所以 使用的時候 還請注意。