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 相关文章推荐
uploadify 3.0 详细使用说明
Jun 18 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
JavaScript中的方法重载实例
Mar 16 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
May 16 Javascript
jQuery实现调整表格单列顺序完整实例
Jun 20 Javascript
angularjs中回车键触发某一事件的方法
Apr 24 Javascript
史上最全JavaScript常用的简写技巧(推荐)
Aug 17 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
Dec 07 Javascript
深入浅析React中diff算法
May 19 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设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
python下10个简单实例代码
2017/11/15 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
python cumsum函数的具体使用
2019/07/29 Python
python加载自定义词典实例
2019/12/06 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
浅析图片上传及canvas压缩的流程
2020/06/10 HTML / CSS
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
什么是.net
2015/08/03 面试题
大学生年度自我鉴定
2013/10/31 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS