9-3 一維陣列

一、Array

語法:arrayName=Array();

功能:宣告arrayName為一個空的一維陣列。

語法:arrayName=Array(length);

功能:宣告arrayName為具有length個元素的陣列。

說明:

1. arrayName:陣列的命名與變數命名相同。

2. 1個陣列元素為arrayName[0],第length個陣列元素為arrayName[length-1]

3. Flash陣列元素可以隨時增加陣列元素。

 

語法1arrayName=[value0, value1, ,valueN]

語法2arrayName=Array(value0, value1, ,valueN)

功能:宣告arrayName為一維陣列,並給予初值。

說明:

1. arrayName一共有N+1個陣列元素。

2. arrayName[0]=value0, arrayName[N]=valueN

3. value0, ,valueN可以不同資料型態。

 

 


5個數中,找出最大數。

結果:

 

 

 

 

 

 


action】圖層:影格1

   在本節中,所有輸出都在show_txt動態文字欄位實體上。

 

 

 

 

 

 


影格1程式:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

data = Array();

data[0]=2;

data[1]=4;

data[2]=10;

data[3]=6;

data[4]=8;

num= data.length;

show_txt.text="data 個數 = "+num+newline;

max_index=0;

max_num=data[0];

show_txt.text+=data[0] + "   ";

for(i=1;i<=num-1;i++){

    show_txt.text+=data[i] + "   ";

    if(data[i] >max_num){

        max_index=i;

        max_num=data[i];

    }

}

show_txt.text+=newline;

show_txt.text+="最大數在第"+(max_index+1)+"位置"+newline;

show_txt.text+="最大數="+ max_num;

解說:

1:宣告data為一維陣列,為一個空的陣列。

2~6:將5個數放到陣列元素中,因此這個陣列有5個陣列元素如下圖:

data[0]   data[1]    data[2]    data[3]    data[4]

2

4

10

6

8

7data. Length傳回data陣列元素的個數。

8:將data 5個數輸出於文字欄位(show_txt)中。

910:假設第一個元素(data[0]索引值0)為最大數。

11:將第1個陣列元素data[0]顯示於show_txt文字欄位。

1218:處理data陣列第2個陣列元素到第5個陣列元素的資料。

13:將data[1],, data[4],四個陣列元素輸出。

1417:將第25個陣列元素值輸出與目前最大數(max_num)比較,若比較大,最大數的內容會更新,索引值(max_index)也會更新。否則最大值與索引值不會改變。

19:新的資料顯示移到下一行最前面。

20:輸出最大數在哪一個位置,陣列元素的第1個元素索引值為0,陣列元素的第2個元素索引值為1

21:輸出最大數的值。

 


計算02+12+22+32+42的和。

結果:

 

 

 

 

 

 

 

 

影格1程式:

01

02

03

04

05

06

07

08

09

data=Array(5);

show_txt.text="";

sum=0;

for(i=0;i<=4;i++){

    data[i]=Math.pow(i,2);

    sum+=data[i];

    show_txt.text+=("data["+i+"]="+data[i]+newline);

}

show_txt.text+=("sum="+sum);

解說:

1:宣告data為具有5個元素的一維陣列,其陣列元素為data[0],data[1],, data[4]

2:清除文字欄位(show_txt)的內容。

3sum5個數的和,剛開始令為0

48:處理5個數的產生與累加,產生data[0],, data[4] 5個陣列元素的值。

5Math.pow(i,2)i2 i=0時,02=0i=1時,12=1i=4時,42=16

6:將data[0],, data[4]的值加入到sum變數中。

7:將data[0],, data[4]的值輸出於show_txt文字欄位中。

9:將5個數的和(sum)輸出於show_txt中。

 


有二個一維陣列,各有5個陣列元素值,將相同索引值的陣列元素相加。

結果:

 

 

 

 

 

 

 


影格1程式:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

data1=[1,3,5,7,9];

data2=[2,4,6,8,10];

num=data1.length;

sum=Array(num);

for(i=0;i<=num-1;i++){

    sum[i]=data1[i]+data2[i];

}

show_txt.text="data1 :   ";

for(i=0;i<=num-1;i++){

    show_txt.text+=data1[i]+"     ";

}

show_txt.text+=newline;

show_txt.text+="data2 :   ";

for(i=0;i<=num-1;i++){

    show_txt.text+=data2[i]+"     ";

}

show_txt.text+=newline;

show_txt.text+="sum   :   ";

for(i=0;i<=num-1;i++){

    show_txt.text+=sum[i]+"     ";

}

解說:

12data1, data2各為具有5個初始值陣列元素的一維陣列。

3:傳回data1陣列元素的個數。data1data2陣列元素的個數相同。

4:依據data1陣列元素的個數來宣告sum陣列元素的個數。sum也是一維陣列具有5個元素。

57:將相同索引值的data1data2陣列元素的值相加,存於sum陣列元素中。

811:輸出data1的陣列元素值。

1316:輸出data2的陣列元素值。

1821:輸出sum的陣列元素值。