😇 Class Array 😇

Các phương pháp và tài sản trong lớp Array

Cùng nhau tìm hiểu và xem cách hoạt động của các phương pháp và tài sản.
js_masterJavascript
javascript-lap-trinh.jpg

Chào các bạn

Trong bài viết này mình sẽ nói về các phương pháp và tài sản của lớp Array

Properties Các tài sản

Các tài sản của class Array

  1. [Symbol.unscopables]

Ký hiệu \[Symbol.unscopables\] dùng để lấy ra danh sách các ký hiệu trong mảng Array.

Cú pháp

1[Symbol.unscopables]; // [Symbol]
Tài sảnMô tảTham sốTrả về
[Symbol.unscopables]Tài sản dùng để lấy ra danh sách các ký hiệu trong mảngMảng [Symbol]

Ví dụ:

1console.log(Object.keys(Array.prototype[Symbol.unscopables])); // ['copyWithin', 'entries', 'fill', 'find', 'findIndex', 'flat', 'flatMap', 'includes', 'keys', 'values', 'at']

Các bạn xem thêm về nó tại đây [Symbol.unscopables]

  1. length

Tài sản length dùng để lấy độ dài của mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.length; // number
Tài sảnMô tảTham sốTrả về
lengthTài sản dùng để lấy độ dài của mảng.number

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.length); // 3

Các bạn xem thêm về nó tại đây length

Methods Các phương pháp

Phương pháp là một chức năng thực hiện một hoặc nhiều hành động gì đó. Theo cách mà chúng ta định nghĩa.

  1. [Symbol.iterator]()

Phương pháp \[Symbol.iterator\]() dùng để lặp.

Cú pháp

1let arr = [1, 2, 3];
2
3let iterator = arr[Symbol.iterator](); //  object
Phương phápMô tảTham sốTrả về
[Symbol.iterator]()Phương pháp dùng để lặp trả về đối tượng.object

Ví dụ:

1let arr = [1, 2, 3];
2
3let iterator = arr[Symbol.iterator](); //  object
4console.log(iterator.next().value);    // 1
5console.log(iterator.next().value);    // 2
6console.log(iterator.next().value);    // 3
7console.log(iterator.next().value);    // undefined

hoặc ví dụ nhỏ cho các bạn mới học hào hứng

1let arr = [1, 2, 3];
2
3let iterator = arr[Symbol.iterator](); //  object
4
5let div = document.createElement("div"); // Tạo  mới thể div
6let button = document.createElement("button"); // Tạo mới thẻ button
7button.innerHTML = "Click Me"; // Thêm nội dung vào button
8
9div.append(button); // Thêm button vào cuối div
10document.body.append(div); // Thêm div vào body
11
12button.onclick = function () { // Tạo sự kiện click cho button
13    let { done, value } = iterator.next(); // {done: false, value: 1}
14    if (done) { // true
15        return; // thoát hoặc chúng ta có thể xóa sự kiện luôn cũng dc
16    }
17
18    div.append(value); // Click vào button là thêm vào cuối div
19};

Các bạn xem thêm về nó tại đây [Symbol.iterator]

  1. [Symbol.species]()

Phương pháp [Symbol.species]() dùng để trả về nhà xây dựng Array

Cú pháp

1Array[Symbol.species]; // function Array(){ ... }
Phương phápMô tảTham sốTrả về
Symbol.speciesPhương pháp dùng để trả về nhà xây dựng.Function

Ví dụ:

1let arr = [1, 2, 3];
2let arr2 = [3, 2];
3
4arr[Symbol.species] = function() {
5    return Object;
6}
7
8arr2[Symbol.species] = function() {
9    return Array;
10}
11
12console.log(Array[Symbol.species]); //  Array() { [native code] }
13console.log(arr[Symbol.species]()); //  Object() { [native code] }
14console.log(arr2[Symbol.species]());//  Array() { [native code] }

Các bạn xem thêm về nó tại đây [Symbol.species]

  1. concat()

Phương pháp concat() dùng để nối một hoặc nhiều mảng lại với nhau. Trả về mảng mới.

Cú pháp

1let arr1 = [1, 2, 3];
2let arr2 = [3, 4, 5];
3
4arr1.concat(...[items]); // array
Phương phápMô tảTham sốTrả về
concatPhương pháp dùng để nối một hoặc nhiều mảng lại với nhau. Trả về mảng mới.items một mảng hoặc một danh sách mảngarray

Ví dụ:

1let arr1 = [1, 2, 3];
2let arr2 = [3, 4, 5];
3
4console.log(arr1.concat(arr2)); // [1, 2, 3, 3, 4, 5]
5console.log(arr1.concat(arr2, [1, 3, 2])); // [1, 2, 3, 3, 4, 5, 1, 3, 2]
6console.log(arr1.concat(arr2, [[1, 3, 2]])); // [1, 2, 3, 3, 4, 5, [1, 3, 2]]

Các bạn xem thêm về nó tại đây concat

  1. copyWithin()

Phương pháp copyWithin() dùng sao chép nông một phần của mảng đến một vị trí khác trong cùng một mảng và trả về nó mà không cần sửa đổi độ dài của nó.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.copyWithin(target, start, end); // number
Phương phápMô tảTham sốTrả về
copyWithinPhương pháp dùng sao chép nông một phần của mảng đến một vị trí khác trong cùng một mảng và trả về nó mà không cần sửa đổi độ dài của nó.target vị trí dùng để sao chép đến.Mảng array mới
start vị trí bắt đầu sao chép nếu âm tính từ cuối mảng
end vị trí kết thúc sao chép nếu âm tính từ cuối mảng
1let arr = [1, 2, 3, 4, 5, 6];
2
3console.log(arr.copyWithin(0, 2, 5)); // [3, 4, 5, 4, 5, 6]
4console.log(arr.copyWithin(0, 1, 3)); // [4, 5, 5, 4, 5, 6]
5console.log(arr.copyWithin(3, 1, 3)); // [4, 5, 5, 5, 5, 6]
6console.log(arr.copyWithin(0, -3, 5));// [5, 5, 5, 5, 5, 6]
7console.log(arr.copyWithin(0, 3, -5));// [5, 5, 5, 5, 5, 6]

Các bạn xem thêm tại đây copyWithin

  1. entries()

Phương pháp entries() trả về đối tượng Iterator

Cú pháp

1let arr = [1, 2, 3];
2
3arr.entries(); // Iterator
Phương phápMô tảTham sốTrả về
entriesPhương pháp trả về đối tượng IteratorIterator

Ví dụ:

1let arr = [1, 2, 3];
2
3let iterator = arr.entries();
4
5console.log(iterator.next().value); // [0, 1]
6console.log(iterator.next().value); // [1, 2]
7console.log(iterator.next().value); // [2, 3]
8console.log(iterator.next());       // {value: undefined, done: true}
9
10for(let [key, value] of arr.entries()) {
11    console.log(key, value); // 01, 12, 23
12}

Các bạn xem thêm tại đây entries

  1. every()

Phương pháp every() kiểm tra tất cả thành phần trong mảng có vượt qua điều kiện mà chúng ta chỉ định hay không. Trả về true hoặc false

Cú pháp

1let arr = [1, 2, 3];
2
3arr.every(predicate, thisArg); // true || false
Phương phápMô tảTham sốTrả về
everyPhương pháp kiểm tra tất cả thành phần trong mảng có vượt qua điều kiện mà chúng ta chỉ định hay không. Trả về true hoặc falsepredicate Chức năng dùng kiểm tratrue hoặc false
thisArg Một đối tượng

Ví dụ:

1let arr = [1, 2, 3];
2
3 console.log(arr.every((value, index, arr) => {
4     console.log(`Value: ${value} - Index: ${index} - Array: ${arr}`); // Value: 1 - Index: 0 - Array: 1,2,3
5                                                                       // Value: 2 - Index: 1 - Array: 1,2,3
6                                                                       // Value: 3 - Index: 2 - Array: 1,2,3
7     return value > 0;
8 })); // true
9
10 let arr2 = [-2, 1, 5];
11
12 console.log(arr2.every((value, index, arr) => {
13    console.log(`Value: ${value} - Index: ${index} - Array: ${arr}`); // Value: -2 - Index: 0 - Array: -2,1,5
14    return value > 0;
15})); // false

Các bạn xem thêm tại đây every

  1. fill()

Phương pháp fill() dùng để lấp đầy phần tử trong mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.fill(value, start, end); // array
Phương phápMô tảTham sốTrả về
fillPhương pháp dùng để lấp đầy phần tử trong mảngvalue giá trị dùng để lấparray
start vị trí để bắt đầu lấp. Mặc định là 0
end vị trí kết thúc lấp. Mặc định là arr.length

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.fill(0, 1, 2)); // [1, 0, 3]
4console.log(arr.fill(0, undefined, undefined)); // [0, 0, 0]
5console.log(new Array(5).fill(0)); // [0, 0, 0, 0, 0]
6console.log(new Array(5).fill(5, 2, 5)); // [ , , 5, 5, 5]

Các bạn xem thêm về nó tại đây fill

  1. filter()

Phương pháp filter() dùng lọc các phần tử trong mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.filter(predicate, thisArg); // array
Phương phápMô tảTham sốTrả về
filterPhương pháp dùng lọc các phần tử trong mảng. Theo điều kiện chúng ta tìm vào.predicate Chức năng dùng để kiểm traarray
thisArg Một đối tượng

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.filter((value, index, array) => {
4    // value là phần tử trong mảng
5    // index là chỉ mục phần tử trong mảng
6    // array là chính arr
7
8    console.log(`Value: ${value} - Index: ${index} - Array: ${array}`); // Value: 1 - Index: 0 - Array: 1,2,3
9                                                                        // Value: 2 - Index: 1 - Array: 1,2,3
10                                                                        // Value: 3 - Index: 2 - Array: 1,2,3
11    return value > 1;
12})); // [2, 3]
13
14console.log(arr.filter((value, index, array) => {
15    console.log(`Value: ${value} - Index: ${index} - Array: ${array}`); // Value: 1 - Index: 0 - Array: 1,2,3
16                                                                        // Value: 2 - Index: 1 - Array: 1,2,3
17                                                                        // Value: 3 - Index: 2 - Array: 1,2,3
18    return value < 0 ;
19})); // []

Các bạn xem thêm tại đây filter

  1. find()

Phương pháp find() tìm kiếm phần tử đầu tiên trong mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.find(predicate, thisArg); // element
Phương phápMô tảTham sốTrả về
findPhương pháp tìm kiếm phần tử đầu tiên trong mảng. Nếu không tìm thấy thì undefined được trả lạipredicate chức năng dùng để kiểm tra điều kiệnPhần tử hoặc undefined
thisArg Một đối tượng

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.find((value, index, array) => {
4    // value là phần tử trong mảng
5    // index là chỉ mục phần tử trong mảng
6    // array là chính arr
7    return value > 2;
8})); // 3
9
10console.log(arr.find((value, index, arrar) => {
11    return value > 5;
12})); // undefined

Các bạn xem thêm tại đây find

  1. findIndex()

Phương pháp findIndex()dùng tìm kiếm vị trí phần tử có trong mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.findIndex(predicate, thisArg); // number
Phương phápMô tảTham sốTrả về
findIndexPhương pháp dùng tìm kiếm vị trí phần tử có trong mảng. Nếu tìm thấy thì vị trí được trả lại. Nếu không có thì -1 được trả lạipredicate Chức năng dùng để kiểm tranumber
thisArg Một đối tượng

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.findIndex(function(value, index, array) {
4    // value là giá trị trong mảng
5    // index là chỉ mục của phần tử trong mảng
6    // array chính là arr
7
8    return value > 2
9})); // 2
10
11console.log(arr.findIndex(function(value, index, array) {
12    // value là giá trị trong mảng
13    // index là chỉ mục của phần tử trong mảng
14    // array chính là arr
15
16    return value > 5
17})); // -1

Các bạn xem thêm về nó tại đây findIndex

  1. flat()

Phương pháp flat()dùng để làm phẳng mảng

Cú pháp

1let arr = [1, 2, 3];
2
3arr.flat(depth); // array
Phương phápMô tảTham sốTrả về
flatPhương pháp dùng làm phẳng mảng. Theo số bước đệ quy chúng ta truyền vàodepth số bước đệ quy. Mặc định là 1array

Ví dụ:

1let arr = [1, 2, 3, [4, 5]];
2let arr1 = [1, 2, 3, [[4, 5], 6]]
3let arr2 = [1, 2, 3, [[4, [5, [6, 7]]]], 8];
4
5console.log(arr.flat(1));  // [1, 2, 3, 4, 5]
6console.log(arr1.flat(1)); // [1, 2, 3, [4, 5], 6]
7console.log(arr1.flat(2)); // [1, 2, 3, 4, 5, 6]
8console.log(arr2.flat(Infinity)); // [1, 2, 3, 4, 5, 6, 7, 8]

Các bạn xem thêm tại đây flat

  1. flatMap()

Phương pháp flatMap() dùng biến đổi mảng.

Cú pháp

1let arr = [1, 2, 3, [4, 5]];
2
3arr.flatMap(callback, thisArg); // array
Phương phápMô tảTham sốTrả về
flatMapPhương pháp áp dụng một hàm gọi lại nhất định cho từng phần tử của mảng, sau đó làm phẳng kết quả bằng một cấp độ.callback Chức năng gọi lại
thisArg Một đối tượng

Ví dụ:

1let arr = [1, 2, 3, [4, 5]];
2let arr1 = [1, 2, 3, [[4, 5], 6]];
3let arr2 = [1, 2, 3, [[4, [5, [6, 7]]]], 8];
4
5console.log(arr.flatMap((value, index, array) => {
6    return value * 2
7})); // [2, 4, 6, NaN]
8
9function data(arr) {
10    return arr.flatMap((value) => {
11        if (Array.isArray(value)) {
12            return data(value);
13        }
14        return value * 2;
15    });
16}
17
18console.log(data(arr));     // [2, 4, 6, 8, 10]
19console.log(data(arr1));    // [2, 4, 6, 8, 10, 12]
20console.log(data(arr2));    // [2, 4, 6, 8, 10, 12, 14, 16]

Các bạn có thể xem thêm về nó tại đây flatMap

  1. forEach()

Phương pháp forEach() dùng để lặp các phần tử trong mảng

1let arr = [1, 2, 3];
2
3arr.forEach(callbackfn, thisArg); // undefined
Phương phápMô tảTham sốTrả về
forEachPhương pháp dùng để lặp các phần tử trong mảng.callbackfn Một chức năng gọi lại mỗi khi lặpundefined
thisArg Một đối tượng

Ví dụ

1let arr = [1, 2, 3];
2
3arr.forEach(function(value, index, array) {
4    console.log(`Value: ${value} - Index: ${index} - Array: ${array}`);
5    // Value: 1 - Index: 0 - Array: 1,2,3
6    // Value: 2 - Index: 1 - Array: 1,2,3
7    // Value: 3 - Index: 2 - Array: 1,2,3
8})

Các bạn có thể xem thêm về nó tại đây forEach

  1. from()

Phương pháp tỉnh Array.from() dùng sao chép nông từ một đối tượng giống như mảng arrayLike hoặc có thể lặp lại Symbol.iterator

Cú pháp

1let arr = [1, 2, 3];
2
3let arr1 = Array.from(arr, mapfn, thisArg); // array
4
5console.log(arr === arr1);  // false
Phương phápMô tảTham sốTrả về
fromdùng sao chép nông từ một đối tượng giống như mảng arrayLike hoặc có thể lặp lại Symbol.iteratorarr một đối tượng giống mảng arrayLike hoặc iteratorarray
mapfn Một chức năng gọi lại trong mọi phần tử trước khi chuyển
thisArg Một đối tượng

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(Array.from(arr, (value, key) => {
4    return value + key;
5})); // [1, 3, 5]
6
7let str = "Trí";
8
9console.log(Array.from(str)); // ['T', 'r', 'í']
10
11let arrayLike = {
12    0: "Hồ",
13    1: "Quang",
14    2: "Trí",
15    length: 3
16}
17
18console.log(Array.from(arrayLike)); // ['Hồ', 'Quang', 'Trí']

Các bạn xem thêm về nó tại đây form

  1. includes()

Phương pháp includes() kiểm tra phần tử có nằm trong mảng hay không

Cú pháp

1let arr = [1, 2, 3];
2
3arr.includes(searchElement, fromIndex); // true || false
Phương phápMô tảTham sốTrả về
includesPhương pháp kiểm tra phần tử có nằm trong mảng hay không.searchElement Phần tử tìm kiếmtrue Hoặc false
fromIndex Vị trí bắt đầu kiểm tra. Mặc định là 0 nếu không được chỉ định

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.includes(2));    // true
4console.log(arr.includes(2, 0)); // true 
5console.log(arr.includes(2, 2)); // false

Các bạn tìm hiểu thêm về nó tại đây includes

  1. indexOf()

Phương pháp indexOf() tiềm kiếm vị trí đầu tiên của phần tử có trong mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.indexOf(searchElement, fromIndex); // number
Phương phápMô tảTham sốTrả về
indexOfPhương pháp tiềm kiếm vị trí đầu tiên của phần tử có trong mảng.searchElement Phần tử cần tìmnumber hoặc -1
fromIndex Vị trí bắt đầu tìm. Mặc định là 0 nếu không được chỉ định

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.indexOf(2));    // 1
4console.log(arr.indexOf(2, 0)); // 1
5console.log(arr.indexOf(2, 2)); // -1

Các bạn xem thêm về nó tại đây indexOf

  1. isArray()

Phương pháp tỉnh Array.isArray() kiểm tra phần tử có phải là mảng hay không.

Cú pháp

1let arr = [1, 2, 3];
2
3Array.isArray(arr); // true || false
Phương phápMô tảTham sốTrả về
isArrayPhương pháp tỉnh dùng kiểm tra phần tử có phải là mảng hay không.Các kiểu dữ liệu javascripttrue hoặc false

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(Array.isArray(arr)); // true
4console.log(Array.isArray({}));  // false
5console.log(Array.isArray(""));  // false
6console.log(Array.isArray(1));   // false
7console.log(Array.isArray(Symbol("id"))); // false
8// Và còn nhiều điều khác

Các bạn có thể tìm hiểu thêm về nó tại đây isArray

  1. join()

Phương pháp join() dùng để nối mảng theo ký tự hoặc chuỗi chúng ta chỉ định.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.join(separator); // string
Phương phápMô tảTham sốTrả về
joinPhương pháp dùng để nối mảng theo ký tự hoặc chuỗi chúng ta chỉ định.separator Ký tự hoặc chuỗistring

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.join("-"));     // 1-2-3
4console.log(arr.join("--.--")); // 1--.--2--.--3

Các bạn xem thêm về nó tại đây join

  1. keys()

Phương pháp keys() dùng trả về đối tượng Iterator chứa tất cả vị trí phần tử trong mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.keys(); // object
Phương phápMô tảTham sốTrả về
keysPhương pháp dùng trả về đối tượng Iterator chứa tất cả vị trí phần tử trong mảng.Đối tượng Iterator

Ví dụ:

1let arr = [1, 2, 3];
2
3let iterator = arr.keys(); // object
4
5console.log(iterator.next().value); // 0
6console.log(iterator.next().value); // 1
7console.log(iterator.next().value); // 2
8console.log(iterator.next()); // {value: undefined, done: true}
9
10for(let key of arr.keys()) {
11    console.log(key); // 0, 1, 2
12}

Các bạn có thể xem thêm về nó tại đây keys

  1. lastIndexOf()

Phương pháp lastIndexOf() dùng tìm kiếm vị trí cuối cùng xuất hiện của phần tử.

Cú pháp

1let arr = [1, 2, 3, 1];
2
3arr.lastIndexOf(searchElement, fromIndex); // number
Phương phápMô tảTham sốTrả về
lastIndexOfPhương pháp dùng tìm kiếm vị trí cuối cùng xuất hiện của phần tử.searchElement Phần tử cần tìm kiếmnumber hoặc -1
fromIndex Từ 0 cho đến vị trí ta chỉ định

Ví dụ:

1let arr = [1, 2, 3, 1];
2
3console.log(arr.lastIndexOf(1));    // 3
4console.log(arr.lastIndexOf(1, 2)); // 0
5console.log(arr.lastIndexOf(5));    // -1

Các bạn xem thêm về nó tại đây lastIndexOf

  1. map()

Phương pháp map() dùng để biến đổi một mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.map(callbackfn, thisArg); // array
Phương phápMô tảTham sốTrả về
callbackfnPhương pháp dùng để biến đổi một mảngcallbackfn Một chức năng gọi lại qua mỗi phần tửarray
thisArg Một đối tượng

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.map(function(value, index, array) {
4    return value * 2;
5})); [2, 4, 6]

Các bạn tìm hiểu thêm về nó tại đây map

  1. Array.of()

Phương pháp tỉnh Array.of() dùng để tạo mảng theo phần tử chúng ta chỉ định.

Cú pháp

1Array.of(...items); // array
Phương phápMô tảTham sốTrả về
ofPhương pháp dùng để tạo mảng theo phần tử chúng ta chỉ định....items Một hoặc một danh sách sách phần tửarray

Ví dụ:

1console.log(Array.of());  // []
2console.log(Array.of(1)); // [1]
3console.log(Array.of(1, 2, 3)); // [1, 2, 3]

Điểm khác biệt giữa new Array(5) với Array.of(5)

1let newA = new Array(5); 
2let ofA = Array.of(5);
3
4console.log(newA); // [ , , , , ]
5console.log(ofA);  // [5]
6
7console.log(newA.length); // 5
8console.log(ofA.length);  // 1

Các bạn tìm hiểu thêm tại đây of

  1. pop()

Phương pháp pop() dùng xóa phần tử cuối cùng có trong mảng. Trả về phần tử đả bị xóa và tự động cập nhật lại độ dài

Cú pháp

1let arr = [1, 2, 3];
2
3arr.pop(); // element
Phương phápMô tảTham sốTrả về
popPhương pháp dùng xóa phần tử cuối cùng có trong mảng. Trả về phần tử đả bị xóa và tự động cập nhật lại độ dài.Phần tử vừa xóa

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.length); // 3
4
5let element = arr.pop();
6console.log(element);    // 3
7
8console.log(arr.length); // 2

Các bạn tìm hiểu thêm về nó tại đây pop

  1. push()

Phương pháp push() dùng để thêm một hoặc nhiều phần tử vào cuối mảng và tự động cập nhật lại độ dài mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.push(...items); // number
Phương phápMô tảTham sốTrả về
pushPhương pháp dùng để thêm một hoặc nhiều phần tử vào cuối mảng và tự động cập nhật lại độ dài mảng....items Một hoặc một danh sách các phần tử cần thêmarray

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.length); // 3
4arr.push(1);
5console.log(arr.length); // 4
6arr.push(1, {name: "Hồ Quang Trí"}, 3)
7console.log(arr); // [1, 2, 3, 1, 1, {name: "Hồ Quang Trí"}, 3]

Các bạn xem thêm tại đây push

  1. reduce()

Phương pháp reduce() sử dụng để tính toán một giá trị duy nhất dựa trên mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.reduce(callbackfn, initialValue);
Phương phápMô tảTham sốTrả về
reducePhương pháp sử dụng để tính toán một giá trị duy nhất dựa trên mảng.callbackfn Chức năng gọi lại qua mỗi phần tử.Tùy ý
initialValue Giá trị mặc định

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.reduce((previousValue, currentValue, currentIndex, array) => {
4    // previousValue là giá trị khởi tạo đầu tiên ở đây là 0
5    // currentValue là phần tử trong mảng
6    // currentIndex là vị trí phần tử trong mảng
7    // array là mảng chính là arr
8
9    return previousValue + currentValue;
10}, 0)); // 6
11
12console.log(arr.reduce((previousValue, currentValue, currentIndex, array) => {
13    // previousValue là giá trị khởi tạo đầu tiên ở đây là 6
14    // currentValue là phần tử trong mảng
15    // currentIndex là vị trí phần tử trong mảng
16    // array là mảng chính là arr
17    
18    return previousValue + currentValue;
19}, 6)); // 12

Các bạn xem thêm tại đây reduce

  1. reduceRight()

Phương pháp reduceRight() sử dụng để tính toán một giá trị duy nhất dựa trên mảng. Lặp từ phải sang trái.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.reduceRight(callbackfn, initialValue);
Phương phápMô tảTham sốTrả về
reduceRightPhương pháp sử dụng để tính toán một giá trị duy nhất dựa trên mảng.callbackfn Chức năng gọi lại qua mỗi phần tử.Tùy ý
initialValue Giá trị mặc định

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.reduceRight(function(previousValue, currentValue, currentIndex, array) {
4    return previousValue + currentValue;
5}, 0)); // 6
6
7console.log(arr.reduceRight(function(previousValue, currentValue, currentIndex, array) {
8    return previousValue + currentValue;
9}, 6)); // 12

Các bạn xem thêm về nó tại đây reduceRight

  1. reverse()

Phương pháp reverse() dùng đảo ngược mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.reverse(); // array
Phương phápMô tảTham sốTrả về
reversePhương pháp dùng đảo ngược mảng.array

Ví dụ:

1let arr = [1, 2, 3];
2
3console.log(arr.reverse()); // [3, 2, 1]
4
5let str = "Hồ Quang Trí";
6
7console.log(str.split(" ").map((value) => value.split("").reverse().join(""))); // ['ồH', 'gnauQ', 'írT']

Các bạn xem thêm tại đây reverse

  1. shift()

Phương pháp shift() dùng để xóa phần tử đầu tiên trong mảng. Trả về phần tử vừa xóa. Tự động sửa lại độ dài mảng.

Cú pháp

1let arr = [1, 2, 3];
2
3arr.shift(); // element
Phương phápMô tảTham sốTrả về
shiftPhương pháp dùng để xóa phần tử đầu tiên trong mảng. Trả về phần tử vừa xóa. Tự động sửa lại độ dài mảng.Phần tử đã xóa

Ví dụ:

1let arr = [10, 2, 3];
2
3console.log(arr.length);  // 3
4console.log(arr.shift()); // 10
5console.log(arr.length);  // 2

Các bạn xem thêm về nó tại đây shift

  1. slice()

Phương pháp slice() dùng sao chép phần tử.

Cú pháp

1let arr = [1, 2, 3, 4, 5];
2
3arr.slice(start, end); // array
Phương phápMô tảTham sốTrả về
slicePhương pháp dùng sao chép phần tử.start Vị trí bắt đầu sao chéparray
end Vị trí kết thúc sao chép trừ đi 1

Ví dụ:

1let arr = [1, 2, 3, 4, 5];
2
3console.log(arr.slice(2, 5)); // [3, 4, 5]
4console.log(arr.slice(2));    // [3, 4, 5]

Các bạn xem thêm tại đây slice

  1. some()

Phương pháp some() dùng để kiểm tra trong mảng có phần tử nào vượt qua điều kiện chúng ta định nghĩa không.

Cú pháp

1let arr = [1, 2, 3, 4, 5];
2
3arr.some(predicate, thisArg); // true || false
Phương phápMô tảTham sốTrả về
somePhương pháp dùng để kiểm tra trong mảng có phần tử nào vượt qua điều kiện chúng ta định nghĩa không.predicate Chức năng kiểm tra mọi phần tử trong mảngtrue hoặc false
thisArg Một đối tượng

Ví dụ:

1let arr = [1, 2, 3, 4, 5];
2
3console.log(arr.some((value, index, array) => {
4    return value > 4
5})); // true
6
7console.log(arr.some((value, index, array) => {
8    return value > 6
9})); // false

Các bạn xem thêm về nó tại đây some

  1. sort()

Phương pháp sort() dùng để sắp xếp phần tử trong mảng.

Cú pháp

1let arr = [1, 2, 3, 4, 5];
2
3arr.sort(compareFn); // array
Phương phápMô tảTham sốTrả về
sortPhương pháp dùng để sắp xếp phần tử trong mảng.compareFn Chức năng dùng so sánharray

Ví dụ:

1let arr = [1, 2, 200, 3, 100, 4, 5];
2
3// Không có chức năng so sánh
4console.log(arr.sort()); // [1, 100, 2, 200, 3, 4, 5]
5
6// Có chức năng
7console.log(
8    arr.sort(function (a, b) {
9        if (a > b) {
10            return 1;
11        }
12        if (a < b) {
13            return -1;
14        }
15        return 0;
16    })
17); // [1, 2, 3, 4, 5, 100, 200]

Các bạn có thể xem thêm tại đây sort

  1. splice()

Phương pháp splice() dùng để xóa hoặc thêm phần tử trong mảng

Cú pháp

1let arr = [1, 2, 200, 3, 100, 4, 5];
2
3arr.splice(start, deleteCount, ...items);  // array
Phương phápMô tảTham sốTrả về
splicePhương pháp dùng để xóa hoặc thêm phần tử trong mảngstart Vị trí để xóa hoặc thêmarray
deleteCount Số lượng phần tử cần xóa
...items Một hoặc danh sách phần tử cần thêm

Ví dụ:

1let arr = [1, 2, 200, 3, 100, 4, 5];
2
3// Ngay vị trí số 2 xóa 1 phần tử
4console.log(arr.splice(2, 1)); // 200;
5console.log(arr.splice(2, 3)); // [3, 100, 4]
6console.log(arr); // [1, 2, 5]
7
8// Ngay vị trí số 2 xóa 0 phần tử, thêm phần tử 3, 4
9arr.splice(2, 0, 3, 4)
10console.log(arr); // [1, 2, 3, 4, 5]

Các bạn xem thêm tại đây splice

  1. toLocaleString()

Phương pháp toLocaleString() này mình chưa sài bao giờ. Các bạn xem thêm về nó tại đây toLocaleString

  1. toString()

Phương pháp toString() dùng để chuyển đối tượng mảng về chuỗi

Cú pháp

1let arr = [1, 2, 3, 4, 5];
2
3arr.toString(); // string
Phương phápMô tảTham sốTrả về
toStringPhương pháp dùng để chuyển đối tượng mảng về chuỗi.string

Ví dụ:

1let arr = [1, 2, 3, 4, 5];
2
3console.log(arr.toString()); // "1,2,3,4,5"
4
5arr.toString = function () {
6    return this.join('-');
7}
8
9console.log(arr.toString()); // 1-2-3-4-5

Các bạn xem thêm về nó tại đây toString

  1. unshift()

Phương pháp unshift() dùng để thêm một hoặc nhiều phần tử vào đầu mảng.

Cú pháp

1let arr = [1, 2, 3, 4, 5];
2
3arr.unshift(...items); // number
Phương phápMô tảTham sốTrả về
unshiftPhương pháp dùng để thêm một hoặc nhiều phần tử vào đầu mảng....items Một hoặc nhiều phần tử cần thêmnumber

Ví dụ:

1let arr = [1, 2, 3, 4, 5];
2
3console.log(arr.unshift(5)); // 6
4console.log(arr); // [5, 1, 2, 3, 4, 5]
5arr.unshift(7, 8, 9);
6console.log(arr); // [7, 8, 9, 5, 1, 2, 3, 4, 5]
  1. values()

Phương pháp values() trả về đối tượng iterator chứa các giá trị trong mảng.

Cú pháp

1let arr = [1, 2, 3, 4, 5];
2
3arr.values(); // object
Phương phápMô tảTham sốTrả về
valuesPhương pháp trả về đối tượng iterator chứa các giá trị trong mảng.iterator chứa các giá trị trong mảng.

Ví dụ:

1let arr = [1, 2, 3];
2
3let iterator = arr.values();
4console.log(iterator.next().value); // 1
5console.log(iterator.next().value); // 2
6console.log(iterator.next().value); // 3
7console.log(iterator.next()); // {value: undefined, done: true}

Các bạn tìm hiểu thêm về nó tại đây value

Tổng kết

Trong bài viết này mình đã liệt vài phương pháp và tài sản trong lớp Array

Các bạn chịu khó đọc thêm nhé. Nhớ được càng nhiều càng tốt. Chúc các bạn thành công.

  • phương pháp
  • tài sản
  • mảng

OFFJS.COM - Blog học tập giải trí - 🐲

Chia sẻ nhiều kiến thức thú vị trong lập trình cũng như cuộc sống.

Giới thiệu


Trang web này mình sẽ nói về kiến thức lập trình và cuộc sống mà các bạn mới học hay đang dự định học. Có một bước đi đầu đời vững chắc.

Hồ Quang Trí.jpg

Đi kèm với đó là những lý thuyết và các dòng code minh họa. Để các bạn dễ hình dung.

Đơn nhiên cũng không dễ dàng ngày một ngày hai mà học hết được.

Học Tập Là Một Con Đường Dài Vô Tận

Nó sẽ nuốt các bạn vô số thời gian nhưng bù lại khi đã biết thì mọi thứ thật là tuyệt.

1console.log("Hồ Quang Trí");

Nếu có ai nói bạn học lập trình trong vòng 3 đến 6 tháng thì mình xin nói thật không bao giờ có chuyện đó nhé.

Chúc các bạn thành công.

Chân trang

phone-toan-phat.png

0353210168

address-toan-phat.png

Việt Nam