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 动态table添加colspan\rowspan 参数的方法
Jul 25 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 Javascript
jQuery EasyUI datagrid实现本地分页的方法
Feb 13 Javascript
JavaScript html5 canvas绘制时钟效果(二)
Mar 27 Javascript
JS使用JSON作为参数实例分析
Jun 23 Javascript
使用vue.js实现联动效果的示例代码
Jan 10 Javascript
基于JS实现限时抢购倒计时间表代码
May 09 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
Apr 08 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
Oct 30 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
Feb 12 Javascript
vue开发简单上传图片功能
Jun 30 Javascript
JavaScript原始值与包装对象的详细介绍
May 11 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中foreach()用法汇总
2015/07/02 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
在vue中高德地图引入和轨迹的绘制的实现
2019/10/11 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
写自荐信有哪些不宜?
2013/10/17 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
详细总结Python常见的安全问题
2021/05/21 Python
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技