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 相关文章推荐
javascript 关闭IE6、IE7
Jun 01 Javascript
基于jQuery选择器的整理集合
Apr 26 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
JavaScript函数的4种调用方法详解
Apr 22 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
jQuery插件jsonview展示json数据
May 26 jQuery
一个小时快速搭建微信小程序的方法步骤
Apr 15 Javascript
一文了解Vue中的nextTick
May 06 Javascript
七行JSON代码把你的网站变成移动应用过程详解
Jul 09 Javascript
TypeScript类型声明书写详解
Aug 28 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
Apr 26 Javascript
在vue中使用Base64转码的案例
Aug 07 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
php如何把表单内容提交到数据库
2019/07/08 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
js实现固定区域内的不重叠随机圆
2019/10/24 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
Python常用算法学习基础教程
2017/04/13 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
详解Python中namedtuple的使用
2020/04/27 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
工作疏忽检讨书
2014/01/25 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
投资意向协议书
2015/01/29 职场文书
老公婚前保证书
2015/02/28 职场文书
《废话连篇——致新手》——chinapizza
2022/04/05 无线电