Hi, xin chào các bạn, ở bài trước mình đã giới thiệu được tới các bạn 10 method hữu ích khi làm việc với array, hôm nay chúng ta sẽ tiếp tục vọc vạch thêm những method rất hay ho của nó nữa, bắt đầu nhé
11. push()
push()
giúp ta thêm một hoặc nhiều phần tử vào cuối mảng
push()
CÓ làm thay đổi mảng ban đầupush()
trả về ĐỘ DÀI MỚI của mảng (arr.lenght) sau khi thêm phần tử
1 2 3 4 5 6 7 8 9 | <span class="token keyword">var</span> animals <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">'pigs'</span><span class="token punctuation">,</span> <span class="token string">'goats'</span><span class="token punctuation">,</span> <span class="token string">'sheep'</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">var</span> count <span class="token operator">=</span> animals<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token string">'chickens'</span><span class="token punctuation">,</span> <span class="token string">'cats'</span><span class="token punctuation">,</span> <span class="token string">'dogs'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>count<span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>animals<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> <span class="token number">6</span> <span class="token operator">></span> Array <span class="token punctuation">[</span><span class="token string">"pigs"</span><span class="token punctuation">,</span> <span class="token string">"goats"</span><span class="token punctuation">,</span> <span class="token string">"sheep"</span><span class="token punctuation">,</span> <span class="token string">"chickens"</span><span class="token punctuation">,</span> <span class="token string">"cats"</span><span class="token punctuation">,</span> <span class="token string">"dogs"</span><span class="token punctuation">]</span> |
Cú pháp
1 2 3 4 | arr<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>element1<span class="token punctuation">[</span><span class="token punctuation">,</span> <span class="token operator">...</span><span class="token punctuation">[</span><span class="token punctuation">,</span> elementN<span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">// elementN: Các phần tử sẽ thêm vào cuối mảng</span> |
12. unshift()
Phương thức này ngược lại so với push()
unshift()
giúp ta thêm một hoặc nhiều phần tử vào đầu mảng
unshift()
CÓ làm thay đổi mảng ban đầuunshift()
trả về ĐỘ DÀI MỚI của mảng (arr.lenght) sau khi thêm phần tử
1 2 3 4 5 6 7 8 9 | <span class="token keyword">var</span> animals <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">'pigs'</span><span class="token punctuation">,</span> <span class="token string">'goats'</span><span class="token punctuation">,</span> <span class="token string">'sheep'</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">var</span> count <span class="token operator">=</span> animals<span class="token punctuation">.</span><span class="token function">unshift</span><span class="token punctuation">(</span><span class="token string">'chickens'</span><span class="token punctuation">,</span> <span class="token string">'cats'</span><span class="token punctuation">,</span> <span class="token string">'dogs'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>count<span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>animals<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> <span class="token number">6</span> <span class="token operator">></span> Array <span class="token punctuation">[</span><span class="token string">"chickens"</span><span class="token punctuation">,</span> <span class="token string">"cats"</span><span class="token punctuation">,</span> <span class="token string">"dogs"</span><span class="token punctuation">,</span> <span class="token string">"pigs"</span><span class="token punctuation">,</span> <span class="token string">"goats"</span><span class="token punctuation">,</span> <span class="token string">"sheep"</span><span class="token punctuation">]</span> |
Cú pháp
1 2 3 4 | arr<span class="token punctuation">.</span><span class="token function">unshift</span><span class="token punctuation">(</span>element1<span class="token punctuation">[</span><span class="token punctuation">,</span> <span class="token operator">...</span><span class="token punctuation">[</span><span class="token punctuation">,</span> elementN<span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">// elementN: Các phần tử được thêm vào đầu mảng</span> |
13. reduce()
Đây là 1 method mà mấy bạn newbie mới học kiểu gì cũng bị xoắn
reduce()
dùng để thực thi một hàm lên từng phần tử của mảng (từ trái sang phải) với một biến tích lũy để thu về một giá trị duy nhất
reduce()
KHÔNG làm thay đổi mảng ban đầureduce()
trả về giá trị sau khi rút gọn
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <span class="token keyword">var</span> array <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">var</span> a <span class="token operator">=</span> array<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span>accumulator<span class="token punctuation">,</span> currentValue<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> accumulator <span class="token operator">+</span> currentValue <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//=> 1 + 2 + 3 + 4</span> <span class="token keyword">var</span> b <span class="token operator">=</span> array<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span>accumulator<span class="token punctuation">,</span> currentValue<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> accumulator <span class="token operator">+</span> currentValue <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//=> 5 + 1 + 2 + 3 + 4</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>a<span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>b<span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>array<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> <span class="token number">10</span> <span class="token operator">></span> <span class="token number">15</span> <span class="token operator">></span> Array <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">]</span> |
Cú pháp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | arr<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">(</span><span class="token function">callback</span><span class="token punctuation">(</span>accumulator<span class="token punctuation">,</span> currentValue<span class="token punctuation">[</span><span class="token punctuation">,</span> index<span class="token punctuation">[</span><span class="token punctuation">,</span> array<span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token punctuation">,</span> initialValue<span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">// callback: Hàm dùng để thực thi với từng phần tử của mảng,</span> <span class="token comment">// hàm này nhận vào 4 tham số:</span> <span class="token comment">/* accumulator: Biến tích lũy, truyền giá trị trả về của mỗi lần gọi callback, nó là giá trị tích lũy được trả về trong lần gọi callback trước, hoặc giá trị của tham số initialValue, nếu được cung cấp */</span> <span class="token comment">/* currentValue: Phần tử trong mảng hiện tại đang được xử lý */</span> <span class="token comment">/* index (không bắt buộc): Chỉ mục (index) của phần tử đang được xử lý Bắt đầu tại 0 nếu giá trị initialValue được cung cấp, Bắt đầu tại 1 nếu không có initialValue */</span> <span class="token comment">/* array (không bắt buộc): Mảng đang được gọi với reduce() */</span> <span class="token comment">/* initialValue (không bắt buộc nhưng NÊN khai báo nó): Giá trị cho tham số thứ nhất (accumulator) của hàm callback trong LẦN GỌI ĐẦU TIÊN. Nếu giá trị ban đầu này không được cung cấp, phần tử đầu tiên của mảng sẽ được dùng. Do đó, gọi reduce() trên một mảng rỗng và không có giá trị ban đầu sẽ gây ra lỗi */</span> |
14. reverse()
reverse()
dùng để đảo ngược mảng, phần tử đầu thành phần tử cuối và ngược lại
reverse()
CÓ làm thay đổi mảng ban đầureverse()
trả về mảng sau khi đảo ngược
1 2 3 4 5 6 7 8 9 | <span class="token keyword">var</span> array <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">'one'</span><span class="token punctuation">,</span> <span class="token string">'two'</span><span class="token punctuation">,</span> <span class="token string">'three'</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">var</span> reversed <span class="token operator">=</span> array<span class="token punctuation">.</span><span class="token function">reverse</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>reversed<span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>array<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> Array <span class="token punctuation">[</span><span class="token string">"three"</span><span class="token punctuation">,</span> <span class="token string">"two"</span><span class="token punctuation">,</span> <span class="token string">"one"</span><span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span><span class="token string">"three"</span><span class="token punctuation">,</span> <span class="token string">"two"</span><span class="token punctuation">,</span> <span class="token string">"one"</span><span class="token punctuation">]</span> |
Cú pháp
1 2 | arr<span class="token punctuation">.</span><span class="token function">reverse</span><span class="token punctuation">(</span><span class="token punctuation">)</span> |
15. some()
some()
kiểm tra xem có ít nhất một phần tử của mảng thoả mãn điều kiện ở hàm được truyền vào hay không
some()
KHÔNG làm thay đổi mảng ban đầusome()
trả về kiểu Boolean:true
nếu có ít nhất một phần tử thoả mãn vàfalse
nếu không thoả mãnsome()
sẽ trả vềfalse
nếu mảng rỗng
1 2 3 4 5 6 7 8 9 10 11 | <span class="token keyword">var</span> array <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">var</span> even <span class="token operator">=</span> array<span class="token punctuation">.</span><span class="token function">some</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span>element<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> element <span class="token operator">%</span> <span class="token number">2</span> <span class="token operator">===</span> <span class="token number">0</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>even<span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>array<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> <span class="token boolean">true</span> <span class="token operator">></span> Array <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">]</span> |
Cú pháp
1 2 3 4 5 6 7 8 9 10 11 12 | arr<span class="token punctuation">.</span><span class="token function">some</span><span class="token punctuation">(</span><span class="token function">callback</span><span class="token punctuation">(</span>element<span class="token punctuation">[</span><span class="token punctuation">,</span> index<span class="token punctuation">[</span><span class="token punctuation">,</span> array<span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token punctuation">,</span> thisArg<span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">/* callback: Hàm dùng để kiểm tra từng phần tử, hàm này nhận vào 3 tham số: */</span> <span class="token comment">// element: Phần tử đang được kiểm tra</span> <span class="token comment">// index (không bắt buộc): Chỉ mục của phần tử đang được kiểm tra</span> <span class="token comment">// array (không bắt buộc): Mảng đang được gọi với some()</span> <span class="token comment">/* thisArg (không bắt buộc): Được sử dụng làm giá trị this khi thực thi hàm callback */</span> |
15. sort()
sort()
sẽ sắp xếp các phần tử trong một mảng, các phần tử có thể được sắp xếp theo bảng chữ cái hoặc theo chữ số theo thứ tự tăng dần hoặc giảm dần.
Mặc định các phần tử sẽ được sắp xếp theo bảng chữ cái với thứ tự tăng dần. Điều này khiến sort()
sẽ sắp xếp các chuỗi rất chính xác, tuy nhiên khi sắp xếp các số sẽ không được chính xác (ví dụ 20 và 100 thì 20 sẽ lớn hơn 100 vì 2 > 1) ta thể khắc phục điều này bằng việc truyền tham số là một mảng so sánh
sort()
CÓ làm thay đổi mảng ban đầusort()
trả về mảng sau khi được sắp xếp
1 2 3 4 5 6 7 8 9 10 11 | <span class="token keyword">var</span> months <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">'March'</span><span class="token punctuation">,</span> <span class="token string">'Jan'</span><span class="token punctuation">,</span> <span class="token string">'Feb'</span><span class="token punctuation">,</span> <span class="token string">'Dec'</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">var</span> array <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">30</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">21</span><span class="token punctuation">,</span> <span class="token number">100000</span><span class="token punctuation">]</span><span class="token punctuation">;</span> months<span class="token punctuation">.</span><span class="token function">sort</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> array<span class="token punctuation">.</span><span class="token function">sort</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>months<span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>array<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> Array <span class="token punctuation">[</span><span class="token string">"Dec"</span><span class="token punctuation">,</span> <span class="token string">"Feb"</span><span class="token punctuation">,</span> <span class="token string">"Jan"</span><span class="token punctuation">,</span> <span class="token string">"March"</span><span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">100000</span><span class="token punctuation">,</span> <span class="token number">21</span><span class="token punctuation">,</span> <span class="token number">30</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">]</span> |
Cú pháp
1 2 3 4 5 6 | arr<span class="token punctuation">.</span><span class="token function">sort</span><span class="token punctuation">(</span><span class="token punctuation">[</span>compareFunction<span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">/* compareFunction (không bắt buộc): Hàm dùng để xác định thứ tự sắp xếp. Nếu bỏ qua, mảng sẽ được sắp xếp dựa vào giá trị Unicode code point của từng ký tự của chuỗi được chuyển đổi từ giá trị của phần tử. */</span> |
Tạm kết
Cũng khá dài rồi, mình tạm dừng part 2 tại đây nhé.
Nếu thấy bài viết hay, hãy cho mình +1 upvote nhé. Nếu thích mình hãy nhấn nút follow để biết thêm nhiều thứ hay ho hơn. Chúc bạn thành công !
Hẹn gặp lại ở part 3 !