javascript中数组方法汇总


Posted in Javascript onJuly 07, 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 版本]
Mar 20 Javascript
javascript计时器详解
Feb 28 Javascript
jquery.map()方法的使用详解
Jul 09 Javascript
js Canvas实现圆形时钟教程
Sep 19 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
Vue ElementUI之Form表单验证遇到的问题
Aug 21 Javascript
解析Vue.js中的组件
Feb 02 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
Vue全局loading及错误提示的思路与实现
Aug 09 Javascript
Vue实现星级评价效果实例详解
Dec 30 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
Apr 13 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 Javascript
jQuery原型属性和原型方法详解
Jul 07 #Javascript
在JavaScript中访问字符串的子串
Jul 07 #Javascript
jQuery.each使用详解
Jul 07 #Javascript
JavaScript中字符串拼接的基本方法
Jul 07 #Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 #Javascript
浅谈JavaScript中运算符的优先级
Jul 07 #Javascript
浏览器中url存储的JavaScript实现
Jul 07 #Javascript
You might like
PHP入门速成教程
2007/03/19 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
php解析xml方法实例详解
2015/05/12 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
利用javascript判断文件是否存在
2013/12/31 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
美国玩具公司:U.S.Toy
2018/05/19 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
业务员岗位职责范本
2013/12/15 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
小学数学课后反思
2014/04/23 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
在职证明书模板
2015/06/15 职场文书
四则混合运算教学反思
2016/02/23 职场文书
聊聊redis-dump工具安装问题
2022/01/18 Redis
2022漫威和DC电影上映作品
2022/04/05 欧美动漫
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技