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 相关文章推荐
js trim函数 去空格函数与正则集锦
Nov 20 Javascript
浅析tr的隐藏和显示问题
Mar 05 Javascript
jQuery实现文件上传进度条特效
Aug 12 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
Oct 16 Javascript
JavaScript数组的定义及数字操作技巧
Jun 06 Javascript
JavaScript实现时间倒计时跳转(推荐)
Jun 28 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
canvas 实现中国象棋
Feb 17 Javascript
JS中跳出循环的示例代码
Sep 14 Javascript
防止Layui form表单重复提交的实现方法
Sep 10 Javascript
JS常用排序方法实例代码解析
Mar 03 Javascript
JS轮播图的实现方法2
Aug 25 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和ACCESS写聊天室(一)
2006/10/09 PHP
php读取数据库信息的几种方法
2008/05/24 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
javascript smipleChart 简单图标类
2011/01/12 Javascript
javascript中length属性的探索
2011/07/31 Javascript
浅谈JS闭包中的循环绑定处理程序
2014/11/09 Javascript
JavaScript运算符小结
2015/06/03 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
Vue实现图片与文字混输效果
2019/12/04 Javascript
python中类的一些方法分析
2014/09/25 Python
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
tensorboard显示空白的解决
2020/02/15 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
泰国国际航空公司官网:Thai Airways International
2019/12/04 全球购物
.net软件工程师面试题
2015/03/31 面试题
NET程序员上机面试题
2015/05/23 面试题
介绍一下OSI七层模型
2012/07/03 面试题
服务员岗位职责
2014/01/29 职场文书
个人简历自我评价范文
2014/02/04 职场文书
疾病防治方案
2014/05/31 职场文书
本科应届生求职信
2014/08/05 职场文书
2015年暑假工作总结
2015/07/13 职场文书
初中运动会前导词
2015/07/20 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS