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 05 Javascript
Javascript基础教程之数据类型转换
Jan 18 Javascript
JavaScript实现带标题的图片轮播特效
May 20 Javascript
详解Angularjs中的依赖注入
Mar 11 Javascript
AngularJS ng-app 指令实例详解
Jul 30 Javascript
详解JavaScript跨域总结与解决办法
Oct 31 Javascript
javascript replace()第二个参数为函数时的参数用法
Dec 26 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
Sep 17 Javascript
深入理解node.js http模块
Jan 24 Javascript
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
webuploader实现上传图片到服务器功能
Aug 16 Javascript
layui实现下拉框三级联动
Jul 26 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
javascript优先加载笔记代码
2008/09/30 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
完美解决IE不支持Data.parse()的问题
2016/11/24 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
Python 文件重命名工具代码
2009/07/26 Python
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
python 模拟登录B站的示例代码
2020/12/15 Python
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
大学同学聚会邀请函
2014/01/19 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
体育教师自我鉴定
2014/02/12 职场文书
初三学习决心书
2014/03/11 职场文书
表彰大会策划方案
2014/05/13 职场文书
服务理念标语
2014/06/18 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
工程技术员岗位职责
2015/04/11 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript