几乎全部的编程语言都原生支持数组类型,由于数组是最简单的内存数据结构。
它存储一系列同一种数据类型的值,可是在javascript里能够在数组里保存不一样类型的值,可是咱们最好仍是要遵照最佳实践,不要那么作。javascript
var array = new Array(7); //建立长度为7的数组
var array = new Array('item1','item2','item3');
以上是使用new关键字来建立数组,可是这并非最好的方式,最经常使用的数组建立方式只要 用一个[]就能够了。以下所示:java
var array = []; var array = ['item1','item2','item3'];
数组迭代
every,filter,foreach,some,map这几个方法均可接受一个函数做为参数。
如:number.every(function(number){编程
console.log('----every number----',numbrt); })
every遍历数组中每一个元素,遇到使函数返回值为false的元素,every执行结束;
some与every相反,遇到使函数返回值为true的h元素会执行结束;
forEach会迭代全部元素,与使用for循环的效果相同;
map和filter方法都很会返回一个新数组,不一样的map会返回全部元素遍历后的结果,filter只返回结果为true的结果;数组
搜索和排序
numbers.reverse()//倒序
numbers.sort()//此方法对数组作排序时,把元素默认成字符串进行相互比较,咱们能够传人本身的比较函数,因此能够这样写:
numbers.sort(function(a,b){数据结构
return a-b; });
这段代码当b大于a时,会返回负数,反之则返回正数,若是相等的话就会返回0.返回负数时说明a比b小,这样sort就会根据返回值状况给数组作排序。
indexof方法返回与参数匹配的第一个元素的索引,lastIndexOf返回与参数匹配的最后一个元素索引。
ES6中提供了两个新的方法find()和findIndex()。它们的参数是一个回调函数,全部数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,而后find()方法会返回该成员,findIndex()返回该成员的位置。编程语言
numbers.join(',')//全部元素用,隔开,输出为一个字符串函数