0%

學期2-2_S2-電影清單練習實作

此文章僅記錄作業時提醒自己遇到的問題及需要注意處

Array.prototype.push()

當用常數宣告了一個陣列容器的時候,若要加入物件或其他東西要使用Array.prototype.push()

1
2
3
4
5
6
7
8
9
const movies = []

axios
.get(INDEX_URL)
.then((response) => {
movies.push(...response.data.results)
renderMovieList(movies)
})
.catch((err) => console.log(err))

展開運算子

…response.data.results 前面的… 是展開運算子,會將陣列內容展開

1
2
3
4
5
6
7
8
9
10
11
12
13
const movies = []; //空陣列,空容器

//目標:用 push 方法把 movies 從空陣列變成 [1,2,3]

//方法一
movies.push(1, 2, 3); //傳入 3 個參數:1,2,3

//方法二
movies.push(...[1, 2, 3]); //把陣列用展開運算子打開,打開後就和方法一一模一樣

//方法三
const numbers = [1, 2, 3]; //做一個陣列
movies.push(...numbers); //和方法二同樣意思

關於dataset

可以在元素標籤上設定data資料,在使用JS去取得點擊目標元素上的dataset資料

1
2
<div id="user" data-id="1234567890" data-user="ac-genie" data-date-of-birth>AC Genie</div>

然後我們可以呼叫 dataset. 來取得這些屬性的值,你會發現這些值的型態都是字串*:

1
2
3
4
5
6
7
const el = document.querySelector('#user');
console.log(el.dataset.user)
//ac-genie
console.log(el.dataset.id)
//1234567890
console.log(el.dataset.dateOfBirth)
//(空字串)

Welcome to my other publishing channels