0:00:01.388,0:00:04.635 Các bạn đã được tìm hiểu về cách sử dụng biến để lưu trữ số hoặc chuỗi. 0:00:04.635,0:00:09.675 Bây giờ chúng ta sẽ học về một thứ gọi là mảng, cho phép ta lưu trữ nhiều mục trong chỉ một biến. 0:00:09.675,0:00:13.100 Các bạn sẽ thấy rằng mảng cho phép ta làm đủ mọi thứ hữu ích. 0:00:13.100,0:00:14.942 Được rồi, ta cùng xem lại biến nhé. 0:00:14.942,0:00:19.911 Ta có var myFriend = “Sophia”. 0:00:19.911,0:00:26.600 Như vậy biến chỉ là một phương pháp lưu trữ giá trị như Sophia và gán nhãn cho nó để chương trình sau này có thể tham chiếu một cách dễ dàng. 0:00:26.600,0:00:32.469 Ta có thể coi đó như một ngăn kéo có nhãn myFriend ở bên ngoài và Sophia ở bên trong. 0:00:32.469,0:00:35.528 Bất cứ khi nào nhìn vào bên trong, ta sẽ thấy Sophia. 0:00:35.528,0:00:39.766 Đôi khi ta muốn lưu trữ nhiều giá trị trong một biến duy nhất. 0:00:39.766,0:00:46.431 Và ta sẽ không thể cứ thế mà làm được vì như vậy sẽ mắc phải lỗi cú pháp, và máy tính sẽ tá hỏa lên mất. 0:00:46.431,0:00:50.662 Chúng ta có một phương pháp riêng để thực hiện việc này, đó là sử dụng mảng. 0:00:50.662,0:00:58.729 Ta có thể nhập myFriends =, sau đó thêm một ngoặc vuông, và rồi ta có thể nhập tất cả giá trị vào trong đó. 0:00:58.729,0:01:03.866 Vậy là chúng ta có Sophia, John, và Leif. 0:01:03.866,0:01:06.888 Được rồi, đó là ba người bạn của tôi. 0:01:06.888,0:01:09.554 Có thể sắp xếp theo mức độ thân thiết đấy, nhưng đừng mách họ nhé. 0:01:09.554,0:01:13.304 OK. Hiện tại biến của chúng ta chứa ba giá trị, chứ không chỉ một. 0:01:13.304,0:01:18.391 Ta có thể tưởng tượng nó giống như một chiếc tủ ngăn kéo, rồi dán nhãn myFriends lên chiếc tủ đó. 0:01:18.391,0:01:23.029 Và ta chỉ việc mở ngăn kéo thích hợp để lấy đúng giá trị mà ta đang tìm kiếm. 0:01:23.029,0:01:29.885 Với một chiếc tủ ngăn kéo, nếu muốn biết có gì trong ngăn kéo đầu tiên, ta chỉ cần mở ra và nhìn vào bên trong. 0:01:29.885,0:01:32.110 Vậy ta sẽ làm thế nào với mảng? 0:01:32.110,0:01:42.862 Ta có thể nhập tên mảng, kế đến là ngoặc, và cuối cùng là số thứ tự của giá trị trong mảng. 0:01:42.862,0:01:46.009 Chọn 1 đi. Được khôn? 0:01:46.009,0:01:51.139 Ta sẽ thử sử dụng lệnh văn bản và hiển thị Sophia trên canvas. 0:01:51.139,0:02:01.875 Như vậy ta nhập myFriends[1], sau đó đưa vào đây, thêm một lệnh fill nho nhỏ nữa. 0:02:01.875,0:02:06.266 Ố, ra rồi, thấy John rồi. Tại sao ta lại thấy tên John? 0:02:06.266,0:02:09.727 Ta đã chọn 1 cho chỉ số phần tử, đúng không? 0:02:09.727,0:02:11.397 Số 1 ở ngay đây. 0:02:11.397,0:02:19.803 Nguyên nhân là do các mảng bắt đầu với số 0, chứ không phải 1, có thể lúc đầu các bạn sẽ thấy kỳ cục, nhưng dần dần sẽ quen thôi. 0:02:19.803,0:02:23.875 Vậy nếu nhập 0, ta sẽ thấy Sophia, phải không? 0:02:23.875,0:02:27.934 Nếu muốn hiển thị phần tử tiếp theo, ta sẽ nhập 1. 0:02:27.934,0:02:32.696 Và nếu muốn hiển thị phần tử cuối cùng, phần tử thứ ba, ta sẽ nhập 2. 0:02:32.696,0:02:36.723 Hẳn các bạn sẽ nghĩ, “OK, vậy mình muốn gọi ra cái nào?” 0:02:36.723,0:02:38.267 Ta cùng phân tích nhé. 0:02:38.267,0:02:41.438 Lấy vị trí hiện tại của phần tử trừ đi 1. 0:02:41.438,0:02:46.832 Như vậy phần tử đầu tiên là 0, phần tử thứ hai là 1, phần tử thứ 3 là 2, v.v và v.v. 0:02:46.832,0:02:51.797 Chuyện gì sẽ xảy ra nếu tôi quên mất cách tìm kiếm Leif? 0:02:51.797,0:02:56.000 Ta nhập myFriends[3], và không có gì hiển thị. 0:02:56.000,0:02:58.640 Đó là bởi không có phần tử nào ở vị trí đó cả, đúng không? 0:02:58.640,0:03:03.719 Khi nhập 3, máy tính sẽ tìm phần tử thứ tư, mà ta lại không có phần tử thứ tư. 0:03:03.719,0:03:05.432 Chẳng có gì hết. 0:03:05.432,0:03:09.197 Đó là chuyện xảy ra như cơm bữa khi ta sử dụng mảng. Hãy cẩn thận nhé. 0:03:09.197,0:03:13.885 Cũng tương tự như khi tôi thử tìm phần tử 100 vì tôi không có 100 bạn. 0:03:13.885,0:03:15.766 Tôi chỉ có 3 thôi... 0:03:15.766,0:03:18.572 Vậy là không có gì. Ta xóa đi nhé. 0:03:18.572,0:03:25.891 Bây giờ giả sử ta muốn đếm xem mình có bao nhiêu bạn bè vì tôi rất tự hào khi mình có tới 3 người bạn, và tôi muốn cho mọi người biết điều đó. 0:03:25.891,0:03:29.223 Tôi sẽ tuyên bố cho cả thế giới biết. 0:03:29.223,0:03:35.388 Ta có numFriends + friends. Quá tuyệt vời. 0:03:35.388,0:03:40.634 Vậy là tôi có 3 người bạn. Yay! Không nhiều lắm nhỉ. 0:03:40.634,0:03:44.499 OK, có thể Winston thấy thương hại tôi và nói rằng sẽ làm bạn với tôi. 0:03:44.499,0:03:46.139 Và rằng tôi có thể thêm tên anh ta vào mảng. 0:03:46.139,0:03:47.875 Tôi thì kiểu, “Tốt quá. Cảm ơn Winston.” 0:03:47.875,0:03:50.888 Thế là tôi thêm Winston. Ơ nhưng chương trình vẫn báo tôi chỉ có 3 người bạn. 0:03:50.888,0:03:54.009 Đúng rồi, vì tôi phải cập nhật biến này. 0:03:54.009,0:04:00.006 Điều đó có nghĩa là mỗi khi thêm gì đó vào mảng, ta phải cập nhật biến, khá là phiền phức đấy. 0:04:00.006,0:04:07.640 Đặc biệt nếu tất cả các bạn đều muốn làm bạn tôi sau khi xem bài học này, tôi sẽ phải cập nhật hàng nghìn lần, và mỗi lần như vậy lại là một lần cập nhật biến. 0:04:07.640,0:04:15.375 Nhưng vấn đề là, ta muốn kiểm tra độ dải của mảng thường xuyên đến mức có một phương pháp chuyên biệt cho việc đó. 0:04:15.375,0:04:20.310 Mảng sẽ tự theo dõi được độ dài của chính nó với thuộc tính length. 0:04:20.310,0:04:27.275 Để sử dụng thuộc tính này, ta nhập myFriends.length, và ta sẽ có được độ dài. Thấy không? 0:04:27.275,0:04:30.528 Bây giờ kết quả đang hiển thị 4, tôi có thể xóa biến này rồi. Nó không cần thiết nữa. 0:04:30.528,0:04:33.434 Thuộc tính này sẽ tự động cập nhật mỗi khi ta thêm phần tử. 0:04:33.434,0:04:39.698 Có thể ông OhNoes cũng muốn làm bạn với tôi, tôi thì kiểu, “Ờ, ông xấu tính quá, nhưng được thôi. Làm bạn cũng được.” 0:04:39.698,0:04:43.057 Ta có thể thêm, và thuộc tính sẽ cứ thế cập nhật. 0:04:43.057,0:04:49.600 Phương pháp này khá thú vị vì, các bạn biết đấy, việc theo dõi độ dài mảng sẽ đỡ mất công hơn rất nhiều. 0:04:49.600,0:04:55.391 Được rồi, như vậy mỗi khi muốn lưu trữ một danh sách giá trị như trên, ta sẽ sử dụng mảng. 0:04:55.391,0:00:00.000 Hãy theo dõi để biết được tất cả những điều thú vị mà ta có thể làm với mảng.