关于javascript里面仿python切片操作数组的使用方法

其实在使用了好一段时间的 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[1:]

而javascript 可以使用unshift()方法来实现 也可以使用我这里说到的类似于切片操作的 splice()方法

laplace.splice(0,1);

返回被删除的第一个元素。

splice()方法 第一个参数代表操作数组的起始位置,第二个参数代表删除元素的个数,第三个参数往后,是要添加到数组里的值。

那么如果要删除该数组里面的最后一个参数可以使用

laplace.splice(laplace.lenth-1,1);

也不用去记shift() and unshift()类似的api了。感觉是不是有点方便?

然而这里要特别注意一下。。python切片的抽象等级远远高于 这里的仅仅能对数组使用的splice方法。 所以 使用的时候 还请注意。

时间: 2024-12-12 02:04:56

关于javascript里面仿python切片操作数组的使用方法的相关文章

彻底搞懂Python切片操作

一.Python可切片对象的索引方式 Python可切片对象的索引方式包括:正索引和负索引两部分.如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例: 二.Python切片操作的一般方式 一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index.end_index.step),当只有一个“:”时,默认第三个参数step=1. 切片操作基本表达式:object[start_index : end_index : step] step:正负数均

Python列表操作的函数和方法

http://www.jb51.net/article/47978.htm 列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表和元组.序列都可以进行的操作包括索引,切片,加,乘,检查成员.此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. Python列表操作的函数和方法列表操作包含以下函数:1.cmp(list1, list2):比较两个列表的

Python切片操作

1.切片 Python中序列包括string.list.tuple,序列可以使用切片操作,利用切片操作可以获得对应类型的变量的任意部分(子集) 比如 s="HelloWorld",我们可以通过切片操作s[0:5]获得"Hello". 序列的下标是从0开始的 从左到右,下标范围:[0,len(s)-1) 从右到左,下标范围:[-len(s),-1] 2.切片示例 切片的语法为:[start:end:step] 表示从下标start开始,以步长step跨越,以下标end

jQuery操作数组的工具方法

1.前言 很多时候,jQuery的$()函数都返回一个类似数组的jQuery对象,例如$("div")将返回由页面中所有<div-/>元素包装成jQuery对象,这个jQuery对象实际上包含了多个<div-/>元素对应的DOM对象.在这种情况下,jQuery提供了以下几个常用属性和方法来操作类数组的jQuery对象. 1)        length:该属性返回jQuery里包含的DOM元素的个数 2)        context:该属性返回获取jQuery

Python 切片(slice)的扩展使用方法

# -*- coding: utf-8 -*- __author__ = 'xy' #切片(slice)的扩展使用方法 #1 用步长索引来进行扩展的切片操作 # slice[1:2:3]其中第3个位置表示步长,默认为1 #简单的str翻转: s = 'abcde' print s[::-1] # >>>'edcba' #间隔一个字符取值: print s[::2] # >>>'ace' #2 切片索引不越界 print ('a', 'b', 'c')[-100:100]

js中操作数组的一些方法

增 push   在数组的末尾添加一个或多个元素,并返回新的长度.  array.push(1,2,3.........) unshift  在数组的开头添加一个或多个元素,并返回新的长度. array.unshift(1,2,3......) splice 在制定位置添加一个活多个元素,splice(start,0,str)  start必选, 删 pop   删除并返回数组最后一个元素 shift  删除并返回数组第一个元素 splice  删除数组中的元素,然后返回被删除的项目  spli

js中操作数组的一些方法【转】

增 push   在数组的末尾添加一个或多个元素,并返回新的长度.  array.push(1,2,3.........) unshift  在数组的开头添加一个或多个元素,并返回新的长度. array.unshift(1,2,3......) splice 在制定位置添加一个活多个元素,splice(start,0,str)  start必选, 删 pop   删除并返回数组最后一个元素 shift  删除并返回数组第一个元素 splice  删除数组中的元素,然后返回被删除的项目  spli

12个操作数组的最佳方法

1. 声明一个数组 [java] 预览复制 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"}; 2. 输

关于js中操作数组的一些方法

1.锁定数组的长度(让数组的长度变成只读). var a = [1,2,3] //定义一个数组 Object.defineProperty(a,"length",{ writable:false }) //将a数组的长度属性设为只读 a.length = 0 //将a的长度改为0 console.log(a.length); //打印a数组的长度,还是3 2.Array.join()方法,返回一个字符串 var a = [1,2,3]; var b = a.join("&qu