JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JavaScript数组常用方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

判断某个对象是否是数组: instanceof、Array.isArray()

对于一个网页或者一个全局作用域可以使用instanceof操作符。

if(value instanceof Array){ //判断value是否是数组

}
instanceof操作符它假设只有一个全局执行环境,如果网页包含多个框架则使用ECMAScript5新增的Array.isArray()方法。

if(Array.isArray(value)){//判断value是否是数组

} Array.isArray()方法支持的浏览器有IE9+、Firefor 4+、Safari5+、Opera 10.5+、Chrome。

如果要在未实现这个方法中的浏览器中检查数组,则使用:

if(Object.prototype.toString.call(value)=="[object Array]"){ }

将数组转换为字符串: toLocaleString()、toString()、valueOf()、join()

title"> 代码如下:
String());//a,b,c alert(test.toLocaleString());//a,c alert(test.valueOf());//a,c alert(test);//a,c 默认调用toString()方法 alert(test.join(','));//a,c alert(test.join('|'));//a|b|c

添加和移除数组元素方法:push()、pop()、unshift()、shift()

push()方法可以接受任意数量的参数,把他们逐个加到数组末尾,并且返回数组修改后的数组长度。

pop()方法从数组末尾移除最后一项,然后返回移除的项。

unshift()方法在数组前端添加任意数量的参数并返回新数组长度。

shift()方法能够移除数组中第一个项并返回移除的项。

title"> 代码如下:
);//从数组末尾逐个添加 count =test.push('c'); alert(count);//3 alert(test);// var item = test.pop(); alert(item);//c alert(test.length);//2

排序方法:reverse()和sort()

reverse()方法会反转数组项顺,操作数组本身。

sort()方法默认按升序排列数组项,操作数组本身。

title"> 代码如下:
5]; test.reverse(); alert(test);//5,1 var test2=[0,1,5,10,15]; test2.sort(); alert(test2);//0,15,5 sort()方法会调用每个数组项的toString()方法,比较字符串,以确定排序。所以这里排序是字符串排序

sort()方法还可以传入一个比较函数。

比较函数在第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等则返回0,第一个参数应该位于第二个之后则返回一个正数。

title"> 代码如下:
6741"> function compare(value1,value2){ if(value1value2){ return 1; }else{ return 0; } } var test=[0,15]; test.sort(comparE); alert(test);//0,15

操作方法:concat()、slice()、splice()

concat()方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。返回一个新的数组。

title"> 代码如下:
);//1,5 var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" var arr2 = new Array(3) arr2[0] = "James" arr2[1] = "Adrew" arr2[2] = "MarTin" alert(arr.concat(arr2)); //George,John,Thomas,James,Adrew,MarTin var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" var arr2 = new Array(3) arr2[0] = "James" arr2[1] = "Adrew" arr2[2] = "MarTin" var arr3 = new Array(2) arr3[0] = "William" arr3[1] = "Franklin" alert(arr.concat(arr2,arr3)) //George,MarTin,William,Franklin

slice() 方法可从已有的数组中返回选定的元素。返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

title"> 代码如下:
489_11269@; var arr2=test.slice(1,4); alert(arr1);//b,c,d,e alert(arr2);//b,d

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。操作数组本身。

第一个参数:起始位置、第二个参数:截取的个数、第三个参数:追加的新元素。

title"> 代码如下:
);//b,c alert(removed);//a 返回被删除的项 //插入 var test2=['a','c']; var removed2=test2.splice(1,'e')//从位置1开始插入d,e alert(test2);//a,e,c alert(removed2)//空数组 //替换 var test3=['a','c']; var removed3=test3.splice(1,e alert(test3);//a,c alert(removed3)//b

位置方法:indexOf()、lasTindexOf()

ECMAScript5提供方法支持浏览器:IE9+、Firefox 2+、Safari 3+、Opera 9.5+、Chrome

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

lasTindexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

一个参数时:表示要查找的值,返回索引位置(从0开始)、两个参数时:第一个参数表示起始位置,第二个参数表示要查找的值。

title"> 代码如下:
numbers=[1,1]; alert(numbers.indexOf(4));//3 alert(numbers.lasTindexOf(4));//5

alert(numbers.IndexOf(4,4));//5 alert(numbers.lasTindexOf(4,4));//3

迭代方法:every()、filter()、forEach()、map()、some()

ECMAScript5提供方法支持浏览器:IE9+、Firefox 2+、Safari 3+、Opera 9.5+、Chrome

every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。

filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。

forEach():对数组中的每一项运行给定函数,这个方法没有返回值。

@H_132_0@map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。

以上函数都不会修改数组中包含的值。

title"> 代码如下:
2); }) alert(everyResult);//false //some() var someResult=numbers.some(function(item,array){ return (item>2); }) alert(someResult);//true //filter() var filterResult=numbers.filter(function(item,array){ return (item>2); }) alert(filterResult);//[3,3]

//map() var mapResult=numbers.map(function(item,array){ return (item*2); }) alert(mapResult);//[2,6,8,2]

//forEach() numbers.forEach(function(item,array){ //执行操作 无返回值 })

归并方法:reduce()、reduceRight()

ECMAScript5提供方法支持浏览器:IE9+、Firefox 3+、Safari 4+、Opera 10.5+、Chrome

两个方法都会迭代数组的所以项,然后构建一个最终返回的值。reduce()方法从数组第一项开始,reduceRight()方法从数组最后开始。

title"> 代码如下:
5]; var sum=valuse.reduce(function(prev,cur,array){ prev+cur; }); alert(sum);//15

以上就是本文的全部内容了,希望大家能够喜欢。

大佬总结

以上是大佬教程为你收集整理的JavaScript数组常用方法全部内容,希望文章能够帮你解决JavaScript数组常用方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。