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 相关文章推荐
用于自动添加Digg This!按钮的JavaScript
Dec 23 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
Json解析的方法小结
Jun 22 Javascript
AngularJS入门教程之链接与图片模板详解
Aug 19 Javascript
JS实现微信里判断页面是否被分享成功的方法
Jun 06 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
Sep 26 jQuery
jQuery实现使用sort方法对json数据排序的方法
Apr 17 jQuery
说说如何使用Vuex进行状态管理(小结)
Apr 14 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
Aug 17 Javascript
微信小程序左滑删除实现代码实例
Sep 16 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
Sep 29 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
Nov 05 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 反射机制实现动态代理的代码
2008/10/22 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
js实现日历
2020/11/07 Javascript
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
python妹子图简单爬虫实例
2015/07/07 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
Python3 Random模块代码详解
2017/12/04 Python
Python Socket使用实例
2017/12/18 Python
python三引号输出方法
2019/02/27 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python 实现多维数组(array)排序
2020/02/28 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
农民工预备党员思想汇报
2014/09/14 职场文书
代办出身证明书
2014/10/21 职场文书
离职感谢信怎么写
2015/01/22 职场文书
整改通知书
2015/04/20 职场文书
小学校长开学致辞
2015/07/29 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书