javascript-数组的常用方法

不知大家是否有过跟我类似的经历,就是切图仔刚开始做切图页面的时候,经常调用一些别人写的jquery插件,例如音乐播放器这种需要切换多首音乐的插件。调用的时候就必须有一个音乐队列,而这个队列就是一个数组,而需求方希望能在页面的html通过date属性获取到javascript就可以自动生成歌曲列表。当时的我并没有系统地看过一些javascript的基础知识,自己丈二的和尚,摸不着头脑,就不知道怎么办。

后来查了一下ECMAScript给数组这个对象已经原生地封装了许多很有用的方法,所以接下来我想在这里总结一下一些常用的数组内置方法:

1、join

var colors = ["red","blue","green"];

colors.join("$$");   

colors.toString();  //"red$$blue$$green"

join()用于改变数组的分割。

2、修改数组内部数据的方法

//*
//*插入方法
//*

//push方法
var colors = ["red"];
colors.push("blue","green"); //3
colors.toString();  //"red,blue,green"

//unshift方法
var colors = ["red"];
colors.unshift("blue","green");  //3
colors.toString();  //"blue,green,red"

//*
//*删除(退出)数组项方法
//*

 //pop方法
var colors = ["red","blue","green"];
colors.pop();  //"green"

//shift方法
var colors = ["red","blue","green"];
colors.shift();  //"red"

//*
//*功能最强的方法——splice(索引位置,要删除的个数,要插入的若干项数据)
//*

//作为删除用途
var colors = ["red","blue","green"];
colors.splice(1,1);  //["blue"]
colors.toString()  //"red,green"

//作为替换用途
var colors = ["red","blue","green"];
colors.splice(1,2,"white","black");  //["blue", "green"]
colors.toString();  //"red,white,black"

//作为插入用途
var colors = ["red","blue","green"];
colors.splice(1,0,"white","black");   //[]
colors.toString();  //"red,white,black,blue,green"

push()方法是从数组最后插入数组项,而unshift()则是从数组的最前插入数组项,注意插入的数组项在该数组的顺序保持与参数时候一致。

pop()方法是从数组最后“弹出”数组项,而unshift()则是从数组的最前“弹出”数组项。

而splice方法可以实现插入、删除、替换这3种功能:splice(索引位置,要删除的个数,要插入的若干项数据)

3、迭代方法

var numbers = [1,2,3,4,5,4,3,2,1];

//*
//*判断数组每一项
//*

//every只有每一项都返回true,整个才会返回true
numbers.every(function(item,index,array){return item>2})  //false

//some只要有一项返回true,整个就会返回true
numbers.some(function(item,index,array){return item>2})  //true

//*
//*filter过滤器,返回一个由符合的项组成的数组
//*
numbers.filter(function(item,index,array){return item>2})   //[3, 4, 5, 4, 3]

//*
//*逐项执行的迭代
//*

//map有返回结果
numbers.map(function(item,index,array){return item*2})   //[2, 4, 6, 8, 10, 8, 6, 4, 2]

//forEach没有返回结果
numbers.forEach(function(item,index,array){array[index] = item*2}) ;
alert(numbers);  //[2, 4, 6, 8, 10, 8, 6, 4, 2]

大家可以根据不同的需求来调用js提供的原生的迭代方法!!

4、归并方法

最后是归并方法reduce()和reduceRight(),两者都会迭代数组所有项,其中reduce()从第一项开始,而reduceRight()从数组最后一项开始,出此之外两个函数完全相同

//reduce()中pre第一次为数组第一项,第二次开始为第一次函数返回值为pre
var values = [1,2,3,4,5];
var sum=values.reduce(function(pre,cur,index,array){return pre + cur});
alert(sum); //15

//reduceRight()中pre第一次为数组最后一项,第二次开始为第一次函数返回值为pre
var values = [1,2,3,4,5];
var sum=values.reduceRight(function(pre,cur,index,array){return pre + cur});
alert(sum); //15

其实forEach()也完全可以实现,并且比以上两个归并方法更好理解,怎样实现这功能也看个人习惯。

时间: 2024-08-08 22:03:46

javascript-数组的常用方法的相关文章

__x__(68)0926第十一天__ JavaScript 数组的常用方法

数组的常用方法: 向数组末尾添加一个或多个元素,返回新长度 var arr = new Array(); arr.push("唐僧"); // 返回 1 删除数组最后一个元素,返回该值 document.write(arr.pop()); // 打印数组最后一个元素,并删除这个元素 在数组开头添加一个或多个元素,返回新长度 arr.unshift("玉帝","如来"); 删除数组第一个元素,返回该值 document.write(arr.shif

JavaScript数组的常用方法

// sort() 数组排序 [3, 6, 2, 4, 1, 5] ==> [6,5,4,3,2,1] //a-b是升序 b-a是降序 numberArray.sort(function(a,b){ return b-a; }) //reverse() 颠倒数组的顺序 //push() pop() unshift() shift() 后面增加数组 后面删除数组 前面增加数组 前面删除数组 //join() toString() 数组转化为字符串 //splice() 会对数组进行增加和修改 sp

前端开发:Javascript中的数组,常用方法解析

前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array是前端必修的功课.周五啦,博主的心又开始澎湃了,明儿个周末有木有,又可以愉快的玩耍了. 创建数组 创建数组的基本方式有两种,一种字面量,另一种使用构造函数创建: var arr = [1,2,3]; //字面量的形式创建数组 值与值之间用英文逗号隔开 var arr1 = new Array(1,2

【javascript】JavaScript数组常用方法

JavaScript数组常用方法 一.数组创建 1.(1)使用Array创建数组: 1 var arr1 = new Array(); //创建一个空数组 2 var arr2 = new Array(10); // 创建一个包含10项的数组 3 var arr3 = new Array("a","b","c"); // 创建一个包含3个字符串的数组 (2)使用数组字面量表示法: 1 var arr4 = []; //创建一个空数组 2 var

浅谈JavaScript中数组操作常用方法

JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2)获取对象的类型,比较是否为object类型(此方法只能检测是否为Object,不推荐) if(typeof(value)=="Object") { //对数组执行某些操作 } 3)检测对象是否为数组,使用Array.isArray()方法(只支持ie9+,firefox 4+,safar

Javascript数组小结

Javascript数组小结 Javascript将指定的数字索引值转换成字符串--索引值1变成"1"--然后将其作为属性名来使用. 数组的length修改后,数组中大于设定值的元素将被删除 数组的添加删除: 1)  修改length属性值(删除) 2)  push.pop在数组的尾部进行插入.删除操作并返回操作元素:unshift和shift()在数组的首部进行插入.删除操作 3)  delete可以删除数组元素,但它不会改变数组的length属性,只是将该值置空. 4)  spli

【Javascript】JS常用方法扩展

1.格式化字符串操作 String.prototype.format = function(args) { if (arguments.length>0) { var result = this; if (arguments.length == 1 && typeof (args) == "object") { for (var key in args) { var reg=new RegExp ("({"+key+"})"

10分钟弄懂javascript数组

建议阅读时间 : 10分钟 主要内容:javascript数组的基本概念.属性.方法 新建数组: var arr01 = ["a","b","c","d"]; var arr02 = new Array("a","b","c","d"); 上面的两个方法都可以创建数组 ["a","b","c&quo

JavaScript数组之概论

参考:http://www.cnblogs.com/dolphinX/p/3353590.html 数组是一段线性分配的内存,它是通过整数计算偏移量并访问其中的元素,所以数组是性能出色的数据结构,但JavaScript没有像此类数组一样的数据结构 作为替代,JavaScript提供一种拥有类数组(array-like)特性的对象. JavaScript本质是Object,多提供了一个length 属性 && 继承Array var a = { length:1 } var arr = Ar

Javascript Array 非常用方法解析

1. map var ary = Array(3); ary[0] = 2 ary.map(function(elem) { return '1'; }); 结果是["1", undefined * 2], 因为map 只能被初始化过的数组成员调用 2. reduce [].reduce(Math.pow): //typeError, 空数组上调用reduce [3,2,1].reduce(function(x, y) { console.log(x, y); return Math.