iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
自我挑戰組

node.js 從初學者到高手!系列 第 17

Day 17 學習node.js所需具備的超重要知識-JavaScript (11) Object中的object 介紹與應用

  • 分享至 

  • xImage
  •  

大家好!今天我會再延續昨天的主題,稍微介紹一下該如何做出在object中的object~

以昨天的例子來看,在我的user object中,有一個屬性是FavoriteSubject,也就是最喜歡的科目,但我希望當我存取這個元素時,可以存取其它相關的元素,像是分數,指導教授......等,這時我們就會需要再設計一個object。

那我們該怎麼做呢?其實做法和array很像~讓我們直接來看範例:

let user = {
	name : 'Tim',
	email : 'abc12345@gmail.com',
	age : 20,
	FavoriteSubject : [
		{s_name : 'Programming', prof : 'Chang',score : 80}, 
		{s_name : 'Algorithm', prof : 'Tsai', score : 90}
	],
	printFav(){
		this.FavoriteSubject.forEach( subject => {
			console.log(`${subject.s_name}, ${subject.prof}, ${subject.score}`);
		});
	}
};

user.printFav();

首先在FavoriteSubject中,我希望其內部的各個科目都能記載名稱、指導教授和成績。in order to do that,我們可以使用陣列來存它們的資料,陣列中的每一個元素都要宣告我們想要存入的三個元素,所以我們就只要用大括號"{ }"把三個元素都存入,這樣就好了~

接下來是printFav()這個函式,我希望可以呼叫此函式時可以把FavoriteSubject中的所有元素印出,這邊就可以使用forEach這個method,如同它的名稱,功用就是對每一個元素都做某一件事情,那forEach後面的括號中即為我們想要做的事情,這裡的subject代表的是我們宣告了subject這個變數,來代表陣列裡的每一個元素,所以它的名稱不一定要是subject,我們自行決定就好了,再來,後面的=>代表我們這裡是宣告function,而大括號中就是我們想要做的事情囉!所以我們就把印出內部元素的code打在這邊~這樣就大功告成了!來看看成果~
https://ithelp.ithome.com.tw/upload/images/20231001/20163170zOp9v6yxNi.png
今天的教學,剛開始看的話可能會覺得很複雜,所以非常建議大家看完這一篇可以先自行練習一下這些概念,特別是類似printFav這樣的函式喔~~那我們明天見囉!


上一篇
Day 16 學習node.js所需具備的超重要知識-JavaScript (10) Object中的method、this用法
下一篇
Day 18 學習node.js所需具備的超重要知識-JavaScript (12) - Primitive types 和 Reference types 介紹
系列文
node.js 從初學者到高手!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言