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 相关文章推荐
Jquery 选中表格一列并对表格排序实现原理
Dec 15 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
May 31 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 Javascript
24款热门实用的jQuery插件推荐
Dec 24 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
Sep 14 Javascript
JS实现3D图片旋转展示效果代码
Sep 22 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
Javascript blur与click冲突解决办法
Jan 09 Javascript
JavaScript定义全局对象的方法示例
Jan 12 Javascript
js实现横向拖拽导航条功能
Feb 17 Javascript
微信小程序实现左滑动删除效果
Mar 30 Javascript
vue实现在v-html的html字符串中绑定事件
Oct 28 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 文件状态缓存带来的问题
2008/12/14 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
2009/12/07 Javascript
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
2018/04/18 Python
python文件操作的简单方法总结
2019/11/07 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
掌上明珠Java程序员面试总结
2016/02/23 面试题
怎么写有吸引力的自荐信
2013/11/17 职场文书
质检员岗位职责
2013/12/17 职场文书
淘宝活动策划方案
2014/02/06 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
捐款活动总结
2014/08/27 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
MySQL详细讲解变量variables的用法
2022/06/21 MySQL