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二维数组采用定义数组的数组来实现
Dec 09 Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
Apr 06 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
javascript手风琴下拉菜单实现代码
Nov 12 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
Oct 16 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
Nov 07 Javascript
基于jQuery实现滚动刷新效果
Jan 09 Javascript
js解决软键盘遮挡输入框的问题分享
Dec 19 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
详解vue项目打包步骤
Mar 29 Javascript
Vue全局loading及错误提示的思路与实现
Aug 09 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生成UTF8文件的方法
2010/05/15 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
js取整数、取余数的方法
2014/05/11 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
Python中的闭包详细介绍和实例
2014/11/21 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
解析python实现Lasso回归
2019/09/11 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
应用服务器有那些
2012/01/19 面试题
物业保安主管岗位职责
2013/12/25 职场文书
50岁生日感言
2014/01/23 职场文书
事务机电主管工作职责
2014/02/25 职场文书
商务英语求职信范文
2015/03/19 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL
实现GO语言对数组切片去重
2022/04/20 Golang