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 前台切换网站的样式实现
Jun 22 Javascript
js创建子窗口并且回传值示例代码
Jul 02 Javascript
顶部缓冲下拉菜单导航特效的JS代码
Aug 27 Javascript
JavaScript面向对象的实现方法小结
Apr 14 Javascript
简单谈谈ES6的六个小特性
Nov 18 Javascript
Vue之Watcher源码解析(1)
Jul 19 Javascript
JS实现中英文混合文字溢出友好截取功能
Aug 06 Javascript
JS加密插件CryptoJS实现的DES加密示例
Aug 16 Javascript
JavaScript中工厂函数与构造函数示例详解
May 06 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 Javascript
vue接口请求加密实例
Aug 11 Javascript
vue+Element-ui实现分页效果
Nov 15 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中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
2011/06/28 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
php实现简单爬虫的开发
2016/03/28 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
js 立即调用的函数表达式如何写
2014/01/12 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
JS中this的指向以及call、apply的作用
2018/05/06 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
Python 功能和特点(新手必学)
2015/12/30 Python
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
python实现批量图片格式转换
2020/06/16 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
String这个类型的class为何定义成final?
2012/11/13 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
宿舍使用违章电器检讨书
2014/01/12 职场文书
眼镜促销方案
2014/03/15 职场文书
商务英语广告词大全
2014/03/18 职场文书
二手房买卖协议书
2014/04/10 职场文书
环卫处个人工作总结
2015/03/04 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js