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 相关文章推荐
可以将word转成html的js代码
Apr 11 Javascript
Javascript this 的一些学习总结
Aug 31 Javascript
JavaScript 函数replace深入了解
Mar 14 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
Node.js事件循环(Event Loop)和线程池详解
Jan 28 Javascript
JavaScript事件委托技术实例分析
Feb 06 Javascript
javascript实现检验的各种规则
Jul 31 Javascript
JS实现黑色大气的二级导航菜单效果
Sep 18 Javascript
javaScript事件机制兼容【详细整理】
Jul 23 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
Nov 29 Javascript
基于JavaScript实现验证码功能
Apr 01 Javascript
简单的Vue SSR的示例代码
Jan 12 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作的文本留言本的例子(六)
2006/10/09 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
用Jquery重写windows.alert方法实现思路
2013/04/03 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
Javascript快速排序算法详解
2014/12/03 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
2015/10/15 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
记一次react前端项目打包优化的方法
2020/03/30 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
Python中正则表达式的用法实例汇总
2014/08/18 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
Python中format()格式输出全解
2019/04/12 Python
python中调试或排错的五种方法示例
2019/09/12 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
七年级历史教学反思
2014/02/05 职场文书
统计系教授推荐信
2014/02/28 职场文书
大学生活自我评价
2014/04/09 职场文书
商场租赁意向书
2014/07/30 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
对学校的意见和建议
2015/06/04 职场文书
在职证明书模板
2015/06/15 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers