js数组对象以及数组常用属性和方法

声明数组的方式

         var  arr1 = new Array(1,  5,  8,  7,  2,  10);      //定义了一个数组,其中具有6个数据

         var  arr2 = new Array();                          //只是单纯地定义了一个数组(名),但没有给值(数据),即现在是空的

         var  arr3 = [1,  5,  8,  7,  2,  10];           //同arr1,只是一种简写的定义法。

         var  arr4 = [ ];                              //同arr2,也是一个空数组。

   var  arr5=  new  Array(5);               //4表示数组元素个数和

判断是否为数组:if(arr instanceof Array)

数组遍历—for in循环语句。

for( var  i   in  arr )
{  //i为数组键名
    console.log('键名' + i + '=' + arr[i]);
}

属性:

   arr.length: 表示该数组对象的长度

方法:

  arr.concat(其他数组):     //合并数组,类似php中array_merge
    var s1 = v1.concat( v2 );    //此时s1是这样一个数组: [2, 5, 1, 5, 5, 1, 6, 8];

  arr.join(“字符串”):      //类似php中implode()

    var s2 = v1.join(“//”);         //结果s2为字符串 “2//5//1//5”            

  arr.pop();          //将该数组的最后一项“移除”(删除),并返回该项数据,即该数组少了一项

    var  s3 = v1.pop();          //结果v1只剩这个:[2,5,1]; s3的值是5

  arr.push(新数据项d1);  //将新的数据d1添加到该数组的最后位置,即数组多了一项。

    var  s4 = v1.push( 55 );          //v1此时为:[2,5,1, 55],  s4的值为新数组的长度,即4

  arr.shift();                    //将该数组的第一项“移除”(删除),并返回该项数据,即该数组少了一项

    var  s5 = v1.shift();          //结果v1只剩这个:[5, 1,55]; s5的值是2

  arr.unshift(新数据项d1);   //将新的数据d1添加到该数组的最前位置,即数组多了一项。

    var  v6 = v1.unshift( 66 );       //v1此时为:[66, 5, 1, 55],  s6的值为新数组的长度,即4

  arr.indexOf('a')    //找到第一个值为'a'的键名

  arr.lastIndexOf('a')    //最后一个值为'a'的键名

数组排序:sort()      reverse()

var num = [21,23,52,2,49,30];
var newNum = num.sort(fn);
function fn(v1,v2)
{
            return v1-v2;
}

//如果需要倒序,或者声明fn为return v2-v1
newNum = newNum.reverse()

 

数组的截取slice()  splice()

        //slice(start,end)   返回数组一部分(包括开始、不包括结束位置)————不改变原来的数组
        //正数左边从0开始    负数右边从-1开始
        var fruit = new  Array("apple","banana","pear","orange","grape");
        var rzt = fruit.slice(1,-2); //["banana","pear"]
        console.log(rzt);

        //splice() 截取数组一部分————返回移除的单元,改变原来的数组
        //splice(start,长度个数[,el][,el][,el])  从一个数组移除一个或多个元素
        var rzt1 = fruit.splice(1,3);
        var rzt1 = fruit.splice(1,3,'egg','milk');
        console.log(rzt1);
        console.log(fruit);    

  

 

高级方法(IE支持不好)

  every()    全部符合条件返回真

  some()    部分符合条件返回真

  filter()     把符合条件的项目组成一个新数组

  forEach()   遍历数组

  map()      对数组每一项运行指定函数,返回每次函数调用的结果组成的数组

var num = [15,7,9,3,2,6,1,10];
var rzt = num.every(function(item,index,arr){
      return item>6;
});
alert(rzt);
posted @ 2014-07-12 11:45  自学it技术  阅读(723)  评论(0编辑  收藏  举报