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 相关文章推荐
Extjs EditorGridPanel中ComboBox列的显示问题
Jul 04 Javascript
Google的跟踪代码 动态加载js代码方法应用
Nov 12 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
jQuery实现给页面换肤的方法
May 30 Javascript
JavaScript中使用Math.PI圆周率属性的方法
Jun 14 Javascript
用window.onerror捕获并上报Js错误的方法
Jan 27 Javascript
jquery+css实现下拉列表功能
Sep 03 jQuery
对angularJs中controller控制器scope父子集作用域的实例讲解
Oct 08 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
微信小程序实现时间戳格式转换
Jul 20 Javascript
使用JS实现简易计算器
Jun 14 Javascript
Vue h函数的使用详解
Feb 18 Vue.js
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数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
php curl 上传文件代码实例
2015/04/27 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
cakephp常见知识点汇总
2017/02/24 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
javascript实现表格排序 编辑 拖拽 缩放
2015/01/02 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
详解js类型判断
2018/05/22 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
python实现多线程采集的2个代码例子
2014/07/07 Python
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
基于django传递数据到后端的例子
2019/08/16 Python
python属于跨平台语言码
2020/06/09 Python
python如何删除列为空的行
2020/07/17 Python
python -v 报错问题的解决方法
2020/09/15 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
建筑学推荐信
2013/11/03 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
理想国读书笔记
2015/06/25 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技