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 相关文章推荐
js 调整select 位置的函数
Feb 21 Javascript
javascript Excel操作知识点
Apr 24 Javascript
javascript禁用键盘功能键让右击及其他键无效
Oct 09 Javascript
JQuery实现鼠标移动到图片上显示边框效果
Jan 09 Javascript
JavaScript使用cookie实现记住账号密码功能
Apr 27 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
Feb 14 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 Javascript
js倒计时小实例(多次定时)
Dec 08 Javascript
Javascript实现秒表倒计时功能
Nov 17 Javascript
JavaScript实现简单贪吃蛇效果
Mar 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
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
Django 中 cookie的使用
2017/08/17 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
php对象工厂类完整示例
2018/08/09 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
phpcmsv9.0任意文件上传漏洞解析
2020/10/20 PHP
php框架知识点的整理和补充
2021/03/01 PHP
jquery CSS选择器笔记
2010/03/29 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
微信小程序实现留言板
2018/10/31 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
Python2中的raw_input() 与 input()
2015/06/12 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
Python缓存技术实现过程详解
2019/09/25 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
化学教师教学反思
2014/01/17 职场文书
医学检验专业自荐信
2014/09/18 职场文书
地方白酒代理协议书
2014/10/25 职场文书
2016年教师新年寄语
2015/08/18 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
python实现黄金分割法的示例代码
2021/04/28 Python
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis