JS数组array元素的添加和删除方法代码实例


Posted in Javascript onJune 01, 2015

js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^

var arr = new Array();
arr[0] = "aaa";
arr[1] = "bbb";
arr[2] = "ccc";
//alert(arr.length);//3
arr.pop();
//alert(arr.length);//2
//alert(arr[arr.length-1]);//bbb
arr.pop();
//alert(arr[arr.length-1]);//aaa
//alert(arr.length);//1

var arr2 = new Array();
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
//alert(arr2.length);//2
arr2.pop();
//alert(arr2.length);//1
arr2 = arr2.slice(0,arr2.length-1); 
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
arr2[2] = "ccc";
arr2 = arr2.slice(0,1); 
alert(arr2.length);//1
alert(arr2[0]);//aaa
alert(arr2[1]);//undefined

shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 
var a = [1,2,3,4,5]; 
var b = a.shift(); //a:[2,3,4,5]  b:1 

unshift:将参数添加到原数组开头,并返回数组的长度 
var a = [1,2,3,4,5]; 
var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5]  b:7 
注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。 

pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined 
var a = [1,2,3,4,5]; 
var b = a.pop(); //a:[1,2,3,4]  b:5 //不用返回的话直接调用就可以了

push:将参数添加到原数组末尾,并返回数组的长度 
var a = [1,2,3,4,5]; 
var b = a.push(6,7); //a:[1,2,3,4,5,6,7]  b:7 

concat:返回一个新数组,是将参数添加到原数组中构成的 
var a = [1,2,3,4,5]; 
var b = a.concat(6,7); //a:[1,2,3,4,5]  b:[1,2,3,4,5,6,7] 

splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 
var a = [1,2,3,4,5]; 
var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5]  b:[3,4] 
var b = a.splice(0,1); //同shift 
a.splice(0,0,-2,-1); var b = a.length; //同unshift 
var b = a.splice(a.length-1,1); //同pop 
a.splice(a.length,0,6,7); var b = a.length; //同push 

reverse:将数组反序 
var a = [1,2,3,4,5]; 
var b = a.reverse(); //a:[5,4,3,2,1]  b:[5,4,3,2,1] 

sort(orderfunction):按指定的参数对数组进行排序 
var a = [1,2,3,4,5]; 
var b = a.sort(); //a:[1,2,3,4,5]  b:[1,2,3,4,5] 

slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组 
var a = [1,2,3,4,5]; 
var b = a.slice(2,5); //a:[1,2,3,4,5]  b:[3,4,5] 

join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符 
var a = [1,2,3,4,5]; 
var b = a.join("|"); //a:[1,2,3,4,5]  b:"1|2|3|4|5"

再给个利用数组模拟javaStringBuffer处理字符串的方法:

/**
* 字符串处理函数
*/
function StringBuffer()
{
var arr = new Array;
this.append = function(str)
{
  arr[arr.length] = str; 
};

this.toString = function()
{
  return arr.join(""); //把append进来的数组ping成一个字符串
};
}

今天在应用中突然发现join是一种把数组转换成字符串的好方法,故封装成对象使用了:

/**
* 把数组转换成特定符号分割的字符串
*/
function arrayToString(arr,separator)
{
if(!separator) separator = "";//separator为null则默认为空
  return arr.join(separator); 
}

/**
* 查找数组包含的字符串
*/
function arrayFindString(arr,string)
{
var str = arr.join(""); 
  return str.indexOf(string); 
}
Javascript 相关文章推荐
实现连缀调用的map方法(prototype)
Aug 05 Javascript
jquery 全局AJAX事件使用代码
Nov 05 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
Sep 26 Javascript
JQuery实现动态表格点击按钮表格增加一行
Aug 24 Javascript
IE浏览器下PNG相关功能
Jul 05 Javascript
js识别uc浏览器的代码
Nov 06 Javascript
JS组件Bootstrap实现弹出框效果代码
Apr 26 Javascript
很酷的星级评分系统原生JS实现
Aug 25 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
Jan 03 Javascript
深入理解Node中的buffer模块
Jun 03 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
Mar 20 Javascript
Postman参数化实现过程及原理解析
Aug 13 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
Jun 01 #Javascript
window.onload与$(document).ready()的区别分析
May 30 #Javascript
JQuery给网页更换皮肤的方法
May 30 #Javascript
jQuery实现给页面换肤的方法
May 30 #Javascript
js获取滚动距离的方法
May 30 #Javascript
jquery简单实现外部链接用新窗口打开的方法
May 30 #Javascript
Javascript实现div层渐隐效果的方法
May 30 #Javascript
You might like
php实例分享之mysql数据备份
2014/05/19 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
自己开发Dojo的建议框架
2008/09/24 Javascript
JavaScript 继承详解(二)
2009/07/13 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
详解Python中的Cookie模块使用
2015/07/06 Python
python编码最佳实践之总结
2016/02/14 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Django之腾讯云短信的实现
2020/06/12 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
介绍一下RMI的基本概念
2016/12/17 面试题
文秘大学生求职信
2014/02/25 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
请假条怎么写
2014/04/10 职场文书
ktv好的活动方案
2014/08/17 职场文书
董事长岗位职责
2015/02/13 职场文书
药品开票员岗位职责
2015/04/15 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript