js数组的操作

    js中数组的使用非常普遍,以下是一些常用的方法和属性,数组以arr=[1,2,3,4]举例。

1.length属性

    获取数组的长度,arr.length返回4。

2.indexOf()和lastIndexOf()方法

    数组是通过indexOf()来搜索一个指定的元素的位置,例如arr.indexOf(1)返回0,如果数组中不存在的元素则返回-1。

3.slice()方法

    截取数组的部分元素,arr.slice(0,2)截取从索引0开始到索引2结束,arr.slice(2)截取从索引2开始到结束,arr.slice()复制一个数组。

4.push()和pop()方法

    末尾添加/删除元素,arr.push(5),数组在末尾添加一个元素,arr.pop(),删除数组末尾一个元素。

5.unshift()和shift()方法

    头部添加/删除元素,arr.unshift(5),数组在头部添加一个元素,arr.shift(),删除数组头部一个元素。

6.sort()方法

    对当前数组进行排序。

var a = [33,4,1111,222];
a.sort()                      // 字母表顺序 [1111,222,33,4]
a.sort(function(a,b){         // 数值大小相反的顺序
    return a-b;        
})
a.sort(function(){a,b}{return b-a})  // 数值大小相反的顺序

7.reverse()方法

    把整个Array的元素给掉个个。

8.splice()方法

    array.splice(index,howmany,item1,item2,........,itenX)。

参数描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。

9.join()方法

    把当前Array的每个元素都用指定的字符串连接起来,然后返回字符串。

10.concat()方法

    把当前的Array和另一个Array连接起来,并返回一个新的Array。

添加:

    ECMAScript5 定义了9个新的数组方法来遍历、映射、过滤、检测、简化和搜索数组

11.forEach()

    forEach()方法从头至尾遍历数组,为每个元素调用指定的函数。使用forEach()回调函数三个参数分别为:数组元素、元素的索引、数组本身

var data = [1,2,3,4,5];
var sum = 0;
data.forEach(function(value){
  sum += value; 
})
sum => 15
data.forEach(function(value,i,a){
  a[i] = v+1
})
data => [2,3,4,5,6]

12.map()

    map()方法将调用的数组每个元素传递给指定函数,并返回一个数组,它包含该函数的返回值

a = [1,2,3]
b = a.map(function(x){
   return x*x     
})
b => [1,4,9]

注:map()返回的新数组,它不修改调用的数组

13.filter()

    fliter()方法返回的数组元素是调用的数组的一个子集,传递的函数是用逻辑判断的:该函数返回true或false。如果返回值为true或者能转化为true的值,那么传递给该判定函数的元素就是这个子集的元素,它将被添加到一个作为返回值的数组中

a = [5,4,3,2,1]
smallvalus = a.filter(function(x){return x < 3})  //[2.1]
everyothers = a.filter(function(x){return x%2 ==0})  //[5,3,1]

14.every()和some()

    

15.reduce() reduceRight()

    

16.其实第二个选项indexOf()和lastIndexOf()是ECMAScript 5的方法

    具体细节向上翻。

17.总结

    数组在实际工作当中使用非常广泛,做此笔记以备查询。

posted @ 2017-03-16 18:15  蔡春保  阅读(228)  评论(0编辑  收藏  举报