六角學院|陣列Array與物件Object
陣列Array
-更有效率、更好維護將數值傳遞到function去做運算 或是 從陣列或著物件撈出各個數值,相
較於變數而言更加靈活好用.
-更有效率、更好維護將數值傳遞到function去做運算 或是 從陣列或著物件撈出各個數值,相
較於變數而言更加靈活好用.
var cornField1 = 8
var cornField2 = 5
var cornField3 = 6
var cornField = [8,5,6]
若由一個空陣列(初始沒有東西)開始,要將數值加入輸入.push
var cornField = [];
cornField.push(5);
cornField.push(8);
cornField.push(6);
瀏覽器會顯示 [5,8,6]
若要將數字作更改,請指定第幾個數字
var cornField = [];
cornField.push(5);
cornField.push(8);
cornField.push(6);
cornField[0] = 10;
瀏覽器會顯示 [10,8,6]
若要仔新增一個數值也可以用如下這種方式
var cornField = [];
cornField.push(5);
cornField.push(8);
cornField.push(6);
cornField[0] = 10;
cornField[3] = 100;
瀏覽器會顯示 [10,8,6,100]
length可表示 總共有幾個數值/數量總數/寬度
var cornField = [];
cornField.push(5);
cornField.push(8);
cornField.push(6);
cornField[0] = 10;
cornField[3] = 100;
console.log(cornField.length);
瀏覽器會顯示 [4]
若要在當中加入字串,在瀏覽器中顯示要在console.log(____)中加入
var cornField = [];
cornField.push(5);
cornField.push(8);
cornField.push(6);
cornField[0] = 10;
cornField[3] = 100;
console.log('我總共有'+cornField.length+'個玉米田');
瀏覽器會顯示 [我總共有4個玉米田]
物件
架構:
var ____ = {
屬性 property : '值 value ' ,
___________ : [__ , ___ , ___],
}
var farm = {
farmer:'卡斯伯',
dogs:['張姆士','龐的'],
chick:15,
cornField:[8,5,6],
broccoliField:[6,6,6,6],
scarecrow:9
}
-物件除了可放字串、數字、布林值、陣列 , 還可以放function
var farm={
farmer:'卡斯伯',
chick:15,
duck:3,
dog:['張姆士','龐的']
goDinner:function(){
console.log(farm.farmer+',該回家吃晚飯囉')
},
farm.goDinner();
瀏覽器會顯示 [卡斯伯,該回家吃晚飯囉]
var farm={
farmer:'卡斯伯',
chick:15,
duck:3,
dog:['張姆士','龐的'],
goDinner:function(){
console.log(farm.farmer+',該回家吃晚飯囉')
},
poultryTotal:function(){
var num=farm.chick+farm.duck;
console.log('我的農場共有' + num +'隻家禽');
}
};
farm.goDinner();
farm.poultryTotal();
瀏覽器會顯示 [卡斯伯,該回家吃晚飯囉]
[我的農場共有18隻家禽]
若將物件與陣列一同使用: (架構如下)
var ____ = [
{
屬性 property : '值 value ' ,
___________ : [__ , ___ , ___],
},
{
屬性 property : '值 value ' ,
___________ : [__ , ___ , ___],
}
];
var farms=[
{
farmer:'卡斯伯',
dogs:['張姆士','龐的'],
chick:15,
cornField:[8,5,6],
broccoliField:[6,6,6,6],
scarecrow:9
},
{
farmer:'查理',
dogs:['皮皮'],
chick:30,
cornField:[18,12],
broccoliField:[8,8,8],
scarecrow:6
}
];
陣列練習(1)-陣列的宣告
當我們手邊有一大堆的資料時,如果一個一個的宣告變數將會非常費時費力
所以我們可以透過陣列來把資料整理起來,例如英文老師在整理班上同學的英文成績時:
- var student1 = 85;
- var student2 = 78;
- var student3 = 99;
- ...
- //當班上同學有50位的時候就會非常麻煩
- //所以可以用下方的陣列把同學的成績統整起來
- var student = [85,78,99...];
陣列練習(2)-陣列的運用
學會了如何宣告陣列之後,我們來練習陣列的運用吧
- //剛剛我們是透過下方的方式宣告陣列
- var studentWeight = [65,55,75];
- //我們可以透過下面的方式來取得第一個值
- //特別注意JavaScript是從0當作第一個
- var PeterWeight = studentWeight[0];
- //也可用同樣的方式把第二個值從55改成56
- studentWeight[1] = 56;
- //當想要新增新的資料時,可以利用push方法
- studentWeight.push(76);
- //想要知道總共有幾個資料時,可以用length方法
- var studentNumber = studentWeight.length;
物件練習(1)-物件的宣告
然而當資料更為複雜的時候,則可以利用
物件
來幫助我們整理
例如太陽班裡面需要紀錄老師姓名、學生姓名、學生成績等資訊
- var SunClass = {
- teacher: "Jane",
- student: ["Andy","Peter","John"],
- studentGrade: [89,100,99],
- studentNumber: 3
- };
物件練習(2)-物件的運用
接著我們來練習如何來運用物件吧
- var SunClass = {
- teacher: "Jane",
- student: ["Andy","Peter","John"],
- studentGrade: [89,100,99],
- studentNumber: 3
- };
- //當我們要獲得物件中某一屬性的值時
- //例如想要知道老師是誰時
- var myTeacher = SunClass.teacher;
- //或者想知道第二個學生的姓名
- var myStudent = SunClass.student[1];
- //當我們要更改物件中某一屬性的值時
- SunClass.teacher = "Edison";
- //當我們要增加物件中的屬性時
- SunClass.classRoom = "C104";
物件練習(3)-物件與函數
在物件當中我們甚至可以加入這個物件專有的函數例如在太陽班中我們時常需要計算學生總共有幾名
- var SunClass = {
- teacher: "Jane",
- student: ["Andy","Peter","John"],
- studentGrade: [89,100,99],
- studentNumber: 3,
- classRoom: "B107",
- countStudent: function(){
- console.log("學生共有"+SunClass.studentNumber+"位");
- }
- };
- //當我們需要呼叫時只需要
- SunClass.countStudent();
陣列與物件
當今天有多個物件的時候,我們一樣可以使用陣列來整理它們例如六角學院中有兩個班級就可以透過下面的方式來呈現
- var hexSchool = [
- //第一個物件
- {
- teacher: "Jane",
- student: ["Andy","Peter","John"],
- studentGrade: [89,100,99],
- studentNumber: 3,
- classRoom: "B104"
- },
- //第二個物件
- {
- teacher: "Gary",
- student: ["Sam","Jenny","Rose"],
- studentGrade: [88,79,99],
- studentNumber: 3,
- classRoom: "C104"
- }
- ];
現在我們來練習在影片中陣列中物件的讀取方式
- 建立一個變數
myTeacher
並讓它等於第2個物件的teacher
- 建立一個變數
myStudent
並讓它等於第1個物件中student
陣列的第3個var hexSchool = [ //第一個物件 { teacher: "Jane", student: ["Andy","Peter","John"], studentGrade: [89,100,99], studentNumber: 3, classRoom: "B104" }, //第二個物件 { teacher: "Gary", student: ["Sam","Jenny","Rose"], studentGrade: [88,79,99], studentNumber: 3, classRoom: "C104" } ]; //請在下方作答 var myTeacher = hexSchool[1].teacher; var myStudent = hexSchool[0].student[2];
评论
发表评论