Cocos-Js准备(二)-数组

数组

    js中的同一个数组可以存储多种类型的值,并且长度可以动态的调整。
    创建数组的方式分为构造函数和字面量
    1、使用构造函数的方式:
    var a1 = new Array();//空数组
    var a2 = new Array(5);//指定长度
    var a3 = new Array(1,2,"hello");//带初始元素的数组

    2、使用字面量的方式
    var a4 = [];//空数组,和new Array()等价
    var a5 = [10];//数组中有一个值10;

注意:
    js中数组下标从0开始

Array对象的方法:

1、concat()   连接两个或更多个数组并返回新数组
     var n1 = [1,2,3,4];
     var n2 = [5,6,7,8];
     var x = n1.concat(n2);
     for(var i in n2)
     {
         console.log(n2[i]);
     }
2、join()     把数组的所有元素放入一个字符串,元素通过指定的分隔符号分离
var n1 = [1,2,3,4];
var str = n1.join("。");
console.log(str);
//输出结果为1。2。3。4
//返回字符串,该字符串是把数组中每个元素转成字符串,并把这些字符串连接,其中插入指定字符串
3、pop()  删除并返回数组中最后一个元素
var n1 = [1,2,3,4];
var num = n1.pop();
console.log(num);
console.log(n1.length);//n1.length为数组的长度
4、push() 向数组的末尾添加一个或多个元素,并返回新长度。
var n1 = [1,2,3,4];
var num = n1.push(5,9);
console.log(num);//输出结果为6
5、reverse()  逆序数组,注意会改变原数组
var n1 = [1,2,3,4];
n1.reverse();
for(var i in n1)
{
    console.log(n1[i]);
}
5、shift() 删除并返回数组中的第一个元素
var n1 = [1,2,3,4];
var num = n1.shift()
console.log(num);//1
console.log(n1.length)//3
6、slice(start,end) 从数组中返回选定的数组。
    start为必需参数,规定从何处开始选取,如果是负数,从末尾开始,如-1表示最后一个元素,依次类推;
    end为可选参数,指定结束处数组下标,不指定参数自动到末尾;
    注意:左闭合区间,返回新数组
var n1 = [1,2,3,4];
var n2 = n1.slice(1,3);
for(var i in n2)
{
    console.log(n2[i]) ;
}
//输出 2,3
7、sort() 对数组中元素排序,可指定排序规则
默认排序规则为按照数组中元素的字符编码进行升序排列
如果按照其它标准进行排序,需要提供比较函数,比较函数应该有两个参数a,b,返回值如下:
*若a < b,想要实现排序后a在b前,则返回一个小于0的值;
*若a == b,返回0;
*若a > b,则返回一个大于0的值
var n1 = [4,2,5,7,3];
n1.sort(function (a,b) {
    if (a < b)
    {
        return 1;
    }else if(a == b)
    {
        return 0;
    }
    else {
        return -1;
    }
})//实现一个降序排列
for(var i in n1)
{
    console.log(n1[i]) ;
}
//输出:7、5、4、3、2
8、splice() 从数组中添加删除项目,返回被删除的项目;该方法改变原数组;
splice(index,how many,item...);
index 必需,整数,规定添加删除项目的起始位置,负数从末尾
how many,必需,要删除元素的数量,0不删除
item... 可选向数组中添加新条目
var n1 = [1,2,3,4,5,6,7,8];
var n2 = n1.splice(2,2,9,8);
for(var i in n1)
{
    console.log(n1[i]);
}
//输出 1,2,9,8,5,6,7,8
for(var i in n2)
{
    console.log(n2[i]);
}
//输出 3,4
9、toString() 数组转成字符串
 var num = [1,2,3,4,5];
 console.log(num.toString());
 //输出 1,2,3,4,5

10、unshift() 向数组的开头添加一个或多个元素,并返回新长度
    unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。
    请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组
 var num = [1,2,3,4,5];
 console.log(num.unshift(9,8));
 for(var i in num)
 {
     console.log(num[i]);
 }
 //输出7
 //输出9,8,1,2,3,4,5

你可能感兴趣的:(CocosJs)