Hi guys, in part 1 and part 2 we learned about 15 methods of array.
In this article, I continue to introduce to you the methods that are quite important to the array that devjs often confuse when using the typical slice () with splice (). Let’s get started
16. slice ()
slice()
into Vietnamese is cut, sliced, sliced, bla bla, … and its function is also used to cut off some elements of the array.
slice()
returns a shallow copy of a portion of the array as an array that receives index values from begin to end (excluding end).
slice()
NOT change the original arrayslice()
returns a new array after cutting
With positive index
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <span class="token keyword">var</span> animals <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token string">'ant'</span> <span class="token punctuation">,</span> <span class="token string">'bison'</span> <span class="token punctuation">,</span> <span class="token string">'camel'</span> <span class="token punctuation">,</span> <span class="token string">'duck'</span> <span class="token punctuation">,</span> <span class="token string">'elephant'</span> <span class="token punctuation">,</span> <span class="token string">'pig'</span> <span class="token punctuation">]</span> <span class="token punctuation">;</span> <span class="token comment">//=> index 0 1 2 3 4 5</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 function">slice</span> <span class="token punctuation">(</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> animals <span class="token punctuation">.</span> <span class="token function">slice</span> <span class="token punctuation">(</span> <span class="token number">2</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// lấy từ 2 tới arr.length</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 function">slice</span> <span class="token punctuation">(</span> <span class="token number">2</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 punctuation">;</span> <span class="token comment">// lấy 2,3 => lấy begin, không lấy end</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 function">slice</span> <span class="token punctuation">(</span> <span class="token number">1</span> <span class="token punctuation">,</span> <span class="token number">6</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// lấy 1,2,3,4,5</span> <span class="token comment">// nếu end > arr.length, sẽ lấy tới tới arr.length</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> Array <span class="token punctuation">[</span> <span class="token string">"ant"</span> <span class="token punctuation">,</span> <span class="token string">"bison"</span> <span class="token punctuation">,</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">,</span> <span class="token string">"elephant"</span> <span class="token punctuation">,</span> <span class="token string">"pig"</span> <span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">,</span> <span class="token string">"elephant"</span> <span class="token punctuation">,</span> <span class="token string">"pig"</span> <span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span> <span class="token string">"bison"</span> <span class="token punctuation">,</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">,</span> <span class="token string">"elephant"</span> <span class="token punctuation">,</span> <span class="token string">"pig"</span> <span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span> <span class="token string">"ant"</span> <span class="token punctuation">,</span> <span class="token string">"bison"</span> <span class="token punctuation">,</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">,</span> <span class="token string">"elephant"</span> <span class="token punctuation">,</span> <span class="token string">"pig"</span> <span class="token punctuation">]</span> |
With negative index
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <span class="token keyword">var</span> animals <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token string">'ant'</span> <span class="token punctuation">,</span> <span class="token string">'bison'</span> <span class="token punctuation">,</span> <span class="token string">'camel'</span> <span class="token punctuation">,</span> <span class="token string">'duck'</span> <span class="token punctuation">,</span> <span class="token string">'elephant'</span> <span class="token punctuation">,</span> <span class="token string">'pig'</span> <span class="token punctuation">]</span> <span class="token punctuation">;</span> <span class="token comment">//=> index 0 1 2 3 4 5</span> <span class="token comment">//=> -index -6 -5 -4 -3 -2 -1</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 function">slice</span> <span class="token punctuation">(</span> <span class="token operator">-</span> <span class="token number">4</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// lấy từ -4 tới arr.length</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 function">slice</span> <span class="token punctuation">(</span> <span class="token operator">-</span> <span class="token number">5</span> <span class="token punctuation">,</span> <span class="token operator">-</span> <span class="token number">2</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// lấy -5,-4,-3</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 function">slice</span> <span class="token punctuation">(</span> <span class="token number">2</span> <span class="token punctuation">,</span> <span class="token operator">-</span> <span class="token number">1</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// lấy từ 2 tới -1 <=> -4,-3,-2</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> Array <span class="token punctuation">[</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">,</span> <span class="token string">"elephant"</span> <span class="token punctuation">,</span> <span class="token string">"pig"</span> <span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span> <span class="token string">"bison"</span> <span class="token punctuation">,</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">,</span> <span class="token string">"elephant"</span> <span class="token punctuation">]</span> <span class="token operator">></span> Array <span class="token punctuation">[</span> <span class="token string">"ant"</span> <span class="token punctuation">,</span> <span class="token string">"bison"</span> <span class="token punctuation">,</span> <span class="token string">"camel"</span> <span class="token punctuation">,</span> <span class="token string">"duck"</span> <span class="token punctuation">,</span> <span class="token string">"elephant"</span> <span class="token punctuation">,</span> <span class="token string">"pig"</span> <span class="token punctuation">]</span> |
Pretty twisted brain with this yin and yang
Syntax
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | arr <span class="token punctuation">.</span> <span class="token function">slice</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> arr <span class="token punctuation">.</span> <span class="token function">slice</span> <span class="token punctuation">(</span> begin <span class="token punctuation">)</span> arr <span class="token punctuation">.</span> <span class="token function">slice</span> <span class="token punctuation">(</span> begin <span class="token punctuation">,</span> end <span class="token punctuation">)</span> <span class="token comment">/* begin (Không bắt buộc): Chỉ số bắt đầu chọn phần tử Nếu chỉ số này là số âm, được xem như tính ngược từ cuối của mảng. Nếu begin là undefined, slice() bắt đầu từ chỉ số 0 */</span> <span class="token comment">/* end (Không bắt buộc): Chỉ số ngừng chọn phần tử slice() chọn ra các phần tử có chỉ số trước chỉ số end Chỉ số âm tính ngược từ cuối mảng về Nếu tham số end không được truyền vào, slice() chọn đến cuối mảng (arr.length) Nếu end lớn hơn độ dài mảng, slice() chỉ chọn đến cuối mảng (arr.length) */</span> |
17. splice ()
splice()
used to change elements of an array by deleting an existing element or adding a new element
splice()
YES changes the original arraysplice()
returns the array containing the deleted elements
This is a rather confusing row when it can both add an element, just delete the element and change it directly on the original array, so if you do not control the arguments passed, it will be opened immediately. See the following example
Delete the element with the start
argument
1 2 3 4 5 6 7 8 | <span class="token keyword">var</span> months <span class="token operator">=</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 string">'April'</span> <span class="token punctuation">,</span> <span class="token string">'June'</span> <span class="token punctuation">]</span> <span class="token punctuation">;</span> <span class="token comment">//=> 0 1 2 3 </span> months <span class="token punctuation">.</span> <span class="token function">splice</span> <span class="token punctuation">(</span> <span class="token number">2</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// xoá các phần từ từ index 2 tới arr.length</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> <span class="token operator">></span> Array <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> |
Delete element with additional deleteCount
argument (deleteCount: specifies the number of elements to be deleted)
1 2 3 4 5 6 7 8 | <span class="token keyword">var</span> months <span class="token operator">=</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 string">'April'</span> <span class="token punctuation">,</span> <span class="token string">'June'</span> <span class="token punctuation">]</span> <span class="token punctuation">;</span> <span class="token comment">//=> 0 1 2 3 </span> months <span class="token punctuation">.</span> <span class="token function">splice</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 punctuation">;</span> <span class="token comment">// xoá đi 2 phần tử kể từ index 1</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> <span class="token operator">></span> Array <span class="token punctuation">[</span> <span class="token string">"Jan"</span> <span class="token punctuation">,</span> <span class="token string">"June"</span> <span class="token punctuation">]</span> |
Add the element with the 3rd argument
1 2 3 4 5 6 7 8 | <span class="token keyword">var</span> months <span class="token operator">=</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 string">'April'</span> <span class="token punctuation">,</span> <span class="token string">'June'</span> <span class="token punctuation">]</span> <span class="token punctuation">;</span> <span class="token comment">//=> 0 1 2 3 </span> months <span class="token punctuation">.</span> <span class="token function">splice</span> <span class="token punctuation">(</span> <span class="token number">1</span> <span class="token punctuation">,</span> <span class="token number">0</span> <span class="token punctuation">,</span> <span class="token string">'Feb'</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// chèn thêm phần tử vào index 1, không xoá phần tử nào</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> <span class="token operator">></span> Array <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">"March"</span> <span class="token punctuation">,</span> <span class="token string">"April"</span> <span class="token punctuation">,</span> <span class="token string">"June"</span> <span class="token punctuation">]</span> |
Add more items
1 2 3 4 5 6 7 8 | <span class="token keyword">var</span> months <span class="token operator">=</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 string">'April'</span> <span class="token punctuation">,</span> <span class="token string">'June'</span> <span class="token punctuation">]</span> <span class="token punctuation">;</span> <span class="token comment">//=> 0 1 2 3 </span> months <span class="token punctuation">.</span> <span class="token function">splice</span> <span class="token punctuation">(</span> <span class="token number">2</span> <span class="token punctuation">,</span> <span class="token number">1</span> <span class="token punctuation">,</span> <span class="token string">'Feb'</span> <span class="token punctuation">,</span> <span class="token string">'May'</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// chèn thêm 2 phần tử vào index 2, xoá 1 phần tử</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> <span class="token operator">></span> Array <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 string">"Feb"</span> <span class="token punctuation">,</span> <span class="token string">"May"</span> <span class="token punctuation">,</span> <span class="token string">"June"</span> <span class="token punctuation">]</span> |
It is not difficult, right, focus is absorbed, sometimes the deadline is about to forget slightly
Syntax
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <span class="token keyword">var</span> arrDeletedItems <span class="token operator">=</span> array <span class="token punctuation">.</span> <span class="token function">splice</span> <span class="token punctuation">(</span> start <span class="token punctuation">[</span> <span class="token punctuation">,</span> deleteCount <span class="token punctuation">[</span> <span class="token punctuation">,</span> item1 <span class="token punctuation">[</span> <span class="token punctuation">,</span> item2 <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> <span class="token punctuation">]</span> <span class="token punctuation">]</span> <span class="token punctuation">)</span> <span class="token comment">/* start: Vị trí để bắt đầu thay đổi mảng (mặc định là 0) + Nếu lớn hơn độ dài của mảng, thì start được thiết lập bằng độ dài của mảng + Nếu giá trị là âm, thì start bắt đầu từ các phần từ cuối mảng + Nếu array.length + start < 0, thì start bắt đầu từ 0 */</span> <span class="token comment">/* deleteCount (Không bắt buộc): Con số chỉ định số lượng các phần tử sẽ bị xóa + Nếu deleteCount bị bỏ qua hoặc có giá trị >= array.length - start thì tất cả các phần tử từ vị trí start đến cuối mảng sẽ bị xóa bỏ + Nếu deleteCount bằng 0 hoặc là số âm, không phần tử nào bị xóa trong trường hợp này bạn sẽ phải xác định ít nhất 1 phần tử mới */</span> <span class="token comment">/* item1, item2, ... (Không bắt buộc): Các phần tử thêm vào mảng, bắt đầu từ chỉ số start Nếu không có, splice() sẽ chỉ xóa các phần tử trong mảng */</span> |
18. Array.from ()
Array.from()
used to create a new array of words
- object is like array (object has length and elements are indexed)
- iterable objects (objects can get its elements, like
Map
andSet
)
Array.from()
returns a new array
1 2 3 4 5 6 7 8 9 10 11 | <span class="token keyword">var</span> arr1 <span class="token operator">=</span> Array <span class="token punctuation">.</span> <span class="token keyword">from</span> <span class="token punctuation">(</span> <span class="token string">'foo'</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token keyword">var</span> arr2 <span class="token operator">=</span> Array <span class="token punctuation">.</span> <span class="token keyword">from</span> <span class="token punctuation">(</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 punctuation">,</span> <span class="token keyword">function</span> <span class="token punctuation">(</span> x <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> x <span class="token operator">*</span> x <span class="token punctuation">;</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> arr1 <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> arr2 <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">"f"</span> <span class="token punctuation">,</span> <span class="token string">"o"</span> <span class="token punctuation">,</span> <span class="token string">"o"</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">4</span> <span class="token punctuation">,</span> <span class="token number">9</span> <span class="token punctuation">]</span> |
Syntax
1 2 3 4 5 6 7 8 9 | Array <span class="token punctuation">.</span> <span class="token keyword">from</span> <span class="token punctuation">(</span> arrayLike <span class="token punctuation">[</span> <span class="token punctuation">,</span> mapFn <span class="token punctuation">[</span> <span class="token punctuation">,</span> thisArg <span class="token punctuation">]</span> <span class="token punctuation">]</span> <span class="token punctuation">)</span> <span class="token comment">/* arrayLike: Đối tượng có tính chất giống mảng */</span> <span class="token comment">/* mapFn (Không bắt buộc): Hàm map() được gọi khi thực thi trên từng phần tử */</span> <span class="token comment">/* thisArg (Không bắt buộc): Giá trị được sử dụng như this, thường là tham chiếu đến phạm vi của đối tượng gọi */</span> |
19. Array.isArray ()
Array.isArray()
used to check if the input value is an Array type Array
Array.isArray()
returns Boolean type:true
if array andfalse
if not array
1 2 3 4 5 | Array <span class="token punctuation">.</span> <span class="token function">isArray</span> <span class="token punctuation">(</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 punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// true</span> Array <span class="token punctuation">.</span> <span class="token function">isArray</span> <span class="token punctuation">(</span> <span class="token punctuation">{</span> foo <span class="token punctuation">:</span> <span class="token number">123</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// false</span> Array <span class="token punctuation">.</span> <span class="token function">isArray</span> <span class="token punctuation">(</span> <span class="token string">'foobar'</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// false</span> Array <span class="token punctuation">.</span> <span class="token function">isArray</span> <span class="token punctuation">(</span> undefined <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// false</span> |
Syntax
1 2 3 4 | Array <span class="token punctuation">.</span> <span class="token function">isArray</span> <span class="token punctuation">(</span> value <span class="token punctuation">)</span> <span class="token comment">// value: Giá trị được kiểm tra</span> |
summary
Grab the skirt, we have the following summary
Method | Function | Return value | Change the original array |
---|---|---|---|
concat () | Concatenate 2 or more arrays | New array after joining | Is not |
filter () | Filter out the elements that satisfy the condition | New arrays after filtering | Is not |
find() | Filter out the first element that satisfies the condition | The value FIRST found / undefined | Is not |
forEach () | Browse through each element of the array | undefined | – |
includes () | Checks whether the element exists in the array | true / false | Is not |
indexOf () | Finds the position of an element in an array | Index FIRST found / -1 | Is not |
join() | Create a new string | New string / That element / "" | Is not |
map() | Create a new array by changing the original array | New arrays after transformation | Is not |
pop() | Remove the last element from the array | The element has been removed / undefined | Have |
shift () | Remove the first element from the array | The element has been removed / undefined | Have |
push() | Add 1 or more elements to the end of the array | NEW LEVELS of array | Have |
unshift () | Add 1 or more elements to the beginning of the array | NEW LEVELS of array | Have |
reduce () | Execute the function on each element to get a value | Value after abridged | Is not |
reverse () | Reverse the array | Array after reversing | Have |
some() | Check that at least 1 element satisfies the condition | true / false | Is not |
sort() | Arrange the elements in the array | Arrays after being sorted | Have |
slice () | Cut off some elements of the array | New arrays after cutting | Is not |
splice () | Add / remove elements in the array | The array contains the deleted elements | Have |
Array.from () | Create a new array | New array | – |
Array.isArray () | Check if the input value is an array | true / false | – |
Conclude
Ok it seems enough, there are some other methods but I find it used so it should not list, if you want to be able to find documents online. Hopefully after reading this series you can master the array, a row will be used a lot with devjs.
If you find a good article, give me +1 upvote. If you like me, click the follow button for more cool stuff. Good luck !
See you in the following posts!