浅谈js数组和splice的用法


Posted in Javascript onDecember 04, 2016

首先添加一个splice函数:

splice:该方法的作用就是从数组中删除一个元素

array.splice(index,count,value....);

index:表示从哪一个下标开始,

count:表示删除元素的个数

value:代表增加的元素

example:

1.var array = new Array(1,2,3,4,5,6);

array.splice(0,1,2)

result:2,2,3,4,5

2.var array = new Array(1,2,3,4,5,6);

array.splice(0,0,2)
result:2,1,2,3,4,5

3.var array = new Array(1,2,3,4,5,6);

array.splice(0,0,2,3,4)

2,3,4,1,2,3,4,5,6

1、数组的创建

var arr = new Array(); arr[0] = "aaa";arr[1] = "bbb";arr[2] = "ccc"; 

var a = [1,2,3,4,5];

var c = new Array("first", "second", "third");

或者数组直接量:

var d = ["first", "second", "third"];

var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值

要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2、数组的元素的访问

var testGetArrValue=arrayObj[1]; //获取数组的元素值
arrayObj[1]= "这是新值"; //给数组元素赋予新的值

3、数组元素的添加

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。

4、数组元素的删除

var a = new Array("first", "second", "third") ;  delete a[1] ;  document.write(a.length) //显示的结果是3,说明即使删除也无法改变数组的长度

arrayObj.pop(); //移除最后一个元素并返回该元素值
arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素

5、数组的截取和合并

arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

6、数组的拷贝

arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向
arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7、数组元素的排序

arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.sort(); //对数组元素排序,返回数组地址

8、数组元素的字符串化

arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

以上这篇浅谈js数组和splice的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 控制页面跳转的5种方法
Sep 09 Javascript
jQuery的css() 方法使用指南
May 03 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
Jun 19 Javascript
Spring mvc 接收json对象
Dec 10 Javascript
js阻止移动端页面滚动的两种方法
Jan 25 Javascript
关于不同页面之间实现参数传递的几种方式讨论
Feb 13 Javascript
React Native中NavigatorIOS组件的简单使用详解
Jan 27 Javascript
vue框架搭建之axios使用教程
Jul 11 Javascript
js使用Promise实现简单的Ajax缓存
Nov 14 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
Sep 06 Javascript
JS面试题中深拷贝的实现讲解
May 07 Javascript
JavaScript注入漏洞的原理及防范(详解)
Dec 04 #Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 #Javascript
jquery select2的使用心得(推荐)
Dec 04 #Javascript
Jquery删除css属性的简单方法
Dec 04 #Javascript
浅谈jQuery before和insertBefore的区别
Dec 04 #Javascript
jQuery根据ID、CLASS、等获取对象的实例
Dec 04 #Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
Dec 04 #Javascript
You might like
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
php设计模式 Strategy(策略模式)
2011/06/26 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
php调用shell的方法
2014/11/05 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
PDO::exec讲解
2019/01/28 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
jquery实现图片预加载
2015/12/25 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
Web技术实现移动监测的介绍
2017/09/18 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
Windows下安装python2和python3多版本教程
2017/03/30 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
python安装scipy的步骤解析
2019/09/28 Python
python图形用户接口实例详解
2019/12/16 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
党员违纪检讨书
2014/02/18 职场文书
征兵宣传标语
2014/06/20 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
房产公证书
2015/01/23 职场文书
新学期家长寄语2016
2015/12/03 职场文书
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android
mysql数据库实现设置字段长度
2022/06/10 MySQL