as3 Array(数组)的操作

记得以前学FLASH的时候,同事就告诉过我,数组和字符串是比较重要的基础的部分,必须要完全掌握。现在记录下来,以观后效。
     
    创建数组:
    var aa:Array =[1,3,5,7,9];//数字型数组
    var aa:Array =["a","b","c","d","e","f"];//字符串型数组
     
    链接数组:concat ()
      varaa:Array = new Array(1, 2, 3); 
    var bb:Array = newArray("a", "b", "c"); 
    var aaAndbb:Array =aa.concat(bb); 
    var bbAndaa:Array =bb.concat(aa); 
    trace(aa); //1,2,3 
    trace(bb); //a,b,c 
    trace(aaAndbb); //1,2,3,a,b,c 
    trace(bbAndaa); //a,b,c,1,2,3

    在数组最后一项添加一个或者多个元素:push()
    var aa:Array= [1,2,3];
    aa.push(4,5,6)
    trace(aa)//输出1,2,3,4,5,6

    在数组第一项后添加一个或者多个元素:unshift()
    var aa:Array =[1,2,3];
    aa.unshift(4,5,6);
    trace(aa)//输出4,5,6,1,2,3

    删除数组中的最后一个元素:pop()
      varaa:Array = [1,2,3];
    aa.pop();
    trace(aa)//输出1,2

    删除数组中第一个元素:shift()
      varaa:Array = [1,2,3];
    aa.shift();
    trace(aa)//输出2,3
    trace(aa[0])//输出2,注意第一个元素已经变为0

      返回由原始数组中某一范围的元素构成的新数组,而不修改原始数组。返回的数组包括startIndex 元素以及从其开始到 endIndex元素(但不包括该元素)的所有元素。如果您没有传递任何参数,则创建原始数组的一个副本:slice()
   var aa:Array = newArray("a", "b", "c", "d", "e", "f");
    var bb:Array =aa.slice(1,3);

      trace(aa);     // a,b,c,d,e,f
      trace(bb); // b,c
    下面是调用 slice()方法(对元素 2 (c)),从而得到一个数组,其中包含元素[c,d,e,f]
      varaa:Array = new Array("a", "b", "c", "d", "e", "f");
    var bb:Array =aa.slice(2);

    trace(aa);    // a,b,c,d,e,f
    trace(bb); //c,d,e,f
     调用slice() 方法(对倒数第二个元素 (e)),从而得到一个数组,其中包含元素[c,d,e,f]
      varaa:Array = new Array("a", "b", "c", "d", "e", "f");
    var bb:Array =aa.slice(-2);

    trace(aa);    // a,b,c,d,e,f
    trace(bb); // e,f

      给数组添加元素以及从数组中删除元素。此方法会修改数组但不制作副本:splice()
   var aa:Array = newArray("spinach","green pepper","cilantro","onion","avocado");
    var bb:Array =aa.splice(2, 2);
    trace(aa); //spinach,green pepper,avocado
    trace(bb);    // cilantro,onion

    aa.splice(1, 0,bb);
    trace(aa); //spinach,cilantro,onion,green pepper,avocado

 


    反转数组顺序:reverse()
      varaa:Array = [1,2,3];
    aa.reverse();
    trace(aa);//输出3,2,1

      将数组中的元素转换为字符串、在元素间插入指定的分隔符、连接这些元素然后返回结果字符串:join()
      varaa:Array = new Array("one", "two", "three");
    var bb:String =aa.join(" _ ");
    trace(aa); //one,two,three
    trace(bb); // one _ two_ three

      使用全等运算符 (===)搜索数组中的项,并返回项的索引位置:indexOf()
      varaa:Array = new Array(123,45,6789);
    aa.push("123-45-6789");//向数组aa添加123-45-6789
    aa.push("987-65-4321");//向数组aa添加987-65-4321
             
    var bb:int =aa.indexOf("123");//在数组aa中搜索 字符串123
    trace(bb); // -1  数组中没有字符串123,所以输出-1
             
    var cc:int =aa.indexOf(123);
    trace(cc); // 0  数组中第一项为int型的123,所以会输出第一项的索引0

     搜索数组中的项(从最后一项开始向前搜索),并使用全等运算符(===) 返回匹配项的索引位置:lashIndexOf()
      varaa:Array = new Array(123,45,6789,123,984,323,123,32);
    var bb:int =aa.indexOf(123);
    trace(bb); // 0
    var cc:int =aa.lastIndexOf(123);
    trace(cc); // 6  输出的是从最后一项开始查询到的123,但索引值是6,因此输出了6. 但我们看到数组中有3个123,因此,如果我们想都输出的话,要怎么办呢?我们用下面的循环遍历来解决
   for(var i:int;i<aa.length; i++){
if(aa[i]==123){
trace(i)//输出0 3 6
}
    }

      对数组中的元素进行排序: sort()
      varaa:Array = [7,3,32,64,96,13,42]; 
    aa.sort(); 
    trace(aa);//输出13,3,32,42,64,7,96  sort()方法排列方法如下[此数组满足了第四条方法]:
  • 排序区分大小写(Z 优先于 a)。
  • 按升序排序(a 优先于 b)。
  • 修改该数组以反映排序顺序;在排序后的数组中不按任何特定顺序连续放置具有相同排序字段的多个元素。
  • 元素无论属于何种数据类型,都作为字符串进行排序,所以 100 在 99 之前,这是因为 "1" 的字符串值小于 "9"的字符串值。
  • 如果我们要按元素的值的大小来排列呢?这个排列远远不能让我们满足,因此我们需要使用NUMERIC
   var aa:Array =[7,3,32,64,96,13,42]; 
    aa.sort(Array.NUMERIC); 
    trace(aa);//输出3,7,13,32,42,64,96    
    上面的输出,同时解决了取出数组中的 最大值和最小值了。
    trace(aa[0])//输出最小值3
    trace(aa[aa.length-1])//输出最大值96

      根据数组中的一个或多个字段对数组中的元素进行排序:sortOn()
    var records:Array = newArray();
    records.push({name1:"john", city:"omaha", zip:68144});
      records.push({name1:"john",city:"kansas city", zip:72345});
      records.push({name1:"bob",city:"omaha", zip:94010});
      trace(records);

      for(vari:uint = 0; i < records.length; i++) {
            trace(records[i].name1 + ", " +records[i].city);
      }
      //输出:
      //john, omaha
      //john, kansas city
      // bob,omaha

      trace("records.sortOn('name','city');");
      records.sortOn(["name","city"]);
      for(varj:uint = 0; j < records.length; j++) {
            trace(records[j].name1 + ", " + records[j].city);
      }
      //Results:
      // bob,omaha
      //john, kansas city
      //john, omaha

      trace("records.sortOn('city','name1');");
      records.sortOn(["city","name1"]);
      for(vark:uint = 0; k < records.length; k++) {
            trace(records[k].name1 + ", " +records[k].city);
      }
      //Results:
      //john, kansas city
      // bob,omaha
      //john, omaha
   
   随机输出数组中的一项
      varaa:Array = ["a","b","c","d","e","f"];
    var i:int =Math.floor(Math.random()*aa.length)
    trace(aa[i])

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP中的数组Array)是一种用于存储多个相同类型数据的容器,可以通过单一变量名来访问数组中的每个元素。 以下是一些PHP数组的基本知识: 1. 数组元素可以是任何数据类型,包括整数、浮点数、字符串、对象等; 2. 数组元素的下标可以是整数或者字符串; 3. 如果一个数组的下标是整数,那么它将被当做索引数组来处理,否则将被当做关联数组处理; 4. PHP数组是动态的,可以随时添加或删除元素; 5. 数组元素可以通过下标访问,下标可以是变量; 6. PHP提供了一系列数组函数,可以用来操作数组。 创建数组 可以使用array()或者[]来创建一个数组,例如: // 使用array()语法创建数组 $arr1 = array('apple', 'banana', 'orange'); // 使用[]语法创建数组 $arr2 = ['apple', 'banana', 'orange']; 可以使用数组下标访问数组元素,例如: echo $arr1[0]; // 输出apple echo $arr2[1]; // 输出banana 添加元素 可以使用下标为一个数组添加元素,例如: $arr = ['apple', 'banana', 'orange']; $arr[3] = 'peach'; 也可以使用array_push()函数向一个数组添加元素,例如: $arr = ['apple', 'banana', 'orange']; array_push($arr, 'peach', 'pear'); 删除元素 可以使用unset()函数删除一个数组元素,例如: $arr = ['apple', 'banana', 'orange']; unset($arr[0]); 也可以使用array_pop()函数删除一个数组末尾的元素,例如: $arr = ['apple', 'banana', 'orange']; array_pop($arr); 遍历数组 可以使用foreach()函数来遍历一个数组,例如: $arr = ['apple', 'banana', 'orange']; foreach ($arr as $value) { echo $value . '<br>'; } 也可以同时获取数组元素的下标和对应的值,例如: $arr = ['apple', 'banana', 'orange']; foreach ($arr as $key => $value) { echo $key . ' - ' . $value . '<br>'; } 数组函数 PHP提供了一系列数组函数,可以用来操作数组,例如: count():返回数组中元素的个数; array_merge():合并两个或多个数组array_reverse():将一个数组中的元素顺序颠倒; array_search():在数组中查找指定的值,并返回其对应的下标; in_array():判断一个值是否在数组中存在; sort():对数组进行排序; ksort():按照数组的键进行排序。 以上仅是PHP数组的基本知识,PHP数组的用法还有很多其他特性,需要读者自行学习和掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值