JavaScript

Một số phương thức thao tác với mảng JavaScript (Phần 1/4)

Một số phương thức thao tác với mảng JavaScript (Phần 1/4)
Được viết bởi Minh Hoàng

Series lập trình JavaScript, ngôn ngữ lập trình linh động, thực thi phía client.

Một số phương thức thao tác với mảng JavaScript (Phần 1/4)

1. Array.indexOf() Tìm kiếm phần tử, trả về index đầu tiên được tìm thấy

1. Array.indexOf() Tìm kiếm phần tử, trả về index đầu tiên được tìm thấy

Array.indexOf() tìm kiếm phần tử trong mảng:

  • Trả về vị trí index của phần tử đầu tiên được tìm thấy trong mảng.
  • Nếu không tìm thấy: trả về -1

– Cú pháp:

Array.indexOf(item, start);
  • item: Required. Giá trị của phần tử muốn tìm kiếm.
  • start: Optional. Xác định vị trí bắt đầu tìm kiếm, nếu giá trị là âm thì sẽ lấy vị trí tính từ cuối, rồi tìm kiếm đến cuối mảng.

– Ví dụ:

[code language=”javascript”]var fruits = ["Apple", "Orange", "Apple", "Mango"];

var idx1 = fruits.indexOf("Apple"); // return idx1 = 0
var idx2 = fruits.indexOf("Apple", 1); // return idx2 = 2[/code] Try it »

Array.indexOf() được hỗ trợ trong tất cả các trình duyệt, ngoại trừ Internet Explorer 8 và các phiên bản IE cũ hơn.

2. Array.lastIndexOf() Tìm kiếm phần tử, trả về index cuối cùng được tìm thấy

2. Array.lastIndexOf() Tìm kiếm phần tử, trả về index cuối cùng được tìm thấy

Array.lastIndexOf() tìm kiếm phần tử trong mảng:

  • Trả về vị trí index của phần tử cuối cùng được tìm thấy trong mảng.
  • Nếu không tìm thấy: trả về -1

– Cú pháp:

Array.lastIndexOf(item, start);
  • item: Required. Giá trị của phần tử muốn tìm kiếm.
  • start: Optional. Xác định vị trí bắt đầu tìm kiếm, nếu giá trị là âm thì sẽ lấy vị trí tính từ cuối, và tìm kiếm đến đầu mảng.

– Ví dụ:

[code language=”javascript”]var fruits = ["Apple", "Orange", "Apple", "Mango"];

var idx1 = fruits.lastIndexOf("Apple"); // return idx1 = 2
var idx2 = fruits.lastIndexOf("Apple", -3); // return idx2 = 0[/code] Try it »

Array.lastIndexOf() được hỗ trợ trong tất cả các trình duyệt, ngoại trừ Internet Explorer 8 và các phiên bản IE cũ hơn.

3. Array.findIndex() Trả về vị trí (index) của phần tử đầu tiên thỏa mãn một điều kiện cụ thể

3. Array.findIndex() Trả về vị trí (index) của phần tử đầu tiên thỏa mãn một điều kiện cụ thể

Ví dụ sau trả về index của phần tử đầu tiên lớn hơn 18:

[code language=”javascript”]var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction); // return 3

function myFunction(value, index, array) {
return value > 18;
}[/code] Try it »

Trình duyệt Phiên bản hỗ trợ
Chrome >= 45
Firefox >= 25
IE >= 12
Opera >= 32
Safari >= 8
4. Array.find() Trả về giá trị (value) của phần tử đầu tiên thỏa mãn một điều kiện cụ thể

4. Array.find() Trả về giá trị (value) của phần tử đầu tiên thỏa mãn một điều kiện cụ thể

Ví dụ sau trả về giá trị của phần tử đầu tiên lớn hơn 18:

[code language=”javascript”]var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction); // return 25

function myFunction(value, index, array) {
return value > 18;
}[/code] Try it »

Trình duyệt Phiên bản hỗ trợ
Chrome >= 45
Firefox >= 25
IE >= 12
Opera >= 32
Safari >= 8
5. toString() Tự động chuyển đổi Array thành String

5. toString() Tự động chuyển đổi Array thành String

– JavaScript tự động chuyển đổi một mảng thành một chuỗi được phân cách bằng dấu phẩy ,

– Điều này luôn luôn xảy ra khi bạn xuất (output) ra một mảng.

– Cả 2 ví dụ sau đây đều cho ra cùng một kết quả:

Ví dụ:
[code language=”javascript”]var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.toString(); // return Apple,Orange,Apple,Mango[/code] Try it »

Ví dụ:
[code language=”javascript”]var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits; // return Apple,Orange,Apple,Mango[/code] Try it »

Tất cả các object JavaScript đều có method toString().

6. Array.join() Convert Array thành String

6. Array.join() Convert Array thành String

– Ở mục 5 chúng ta đã biết phương thức toString() chuyển đổi một mảng thành một chuỗi các giá trị của mảng được phân cách nhau bằng dấu phẩy.

– Phương thức join() cũng nối (join) tất cả các phần tử của mảng vào một chuỗi.

– Nó hoạt động giống như toString(), nhưng bạn có thể chỉ định dấu phân tách:

Ví dụ:
[code language=”javascript”]var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.join(" * "); // return Banana * Orange * Apple * Mango[/code] Try it »

7. Tìm giá trị Min trong mảng

7. Tìm giá trị Min trong mảng

7.1. Sử dụng hàm Math.min()

Bạn có thể sử dụng Math.min.apply() để tìm phần tử nhỏ nhất trong một mảng:

Ví dụ:
[code language=”javascript”]var points = [40, 100, 1, 5, 25, 10];

findMinArray(points); // return 1

function findMinArray(arr) {
return Math.min.apply(null, arr);
}[/code] Try it »

7.2. Sử dụng hàm tự tạo
Ví dụ:
[code language=”javascript”]var points = [40, 100, 1, 5, 25, 10];

findMinArray(points); // return 1

function findMinArray(arr) {
var len = arr.length;
var min = Infinity;
while (len–) {
if (arr[len] < min) {
min = arr[len];
}
}
return min;
}[/code] Try it »

8. Tìm giá trị Max trong mảng

8. Tìm giá trị Max trong mảng

8.1. Sử dụng hàm Math.max()

Bạn có thể sử dụng Math.max.apply() để tìm phần tử lớn nhất trong một mảng:

Ví dụ:
[code language=”javascript”]var points = [40, 100, 1, 5, 25, 10];

findMaxArray(points); // return 100

function findMaxArray(arr) {
return Math.max.apply(null, arr);
}[/code] Try it »

8.2. Sử dụng hàm tự tạo
Ví dụ:
[code language=”javascript”]var points = [40, 100, 1, 5, 25, 10];

findMaxArray(points); // return 100

function findMaxArray(arr) {
var len = arr.length
var max = -Infinity;
while (len–) {
if (arr[len] > max) {
max = arr[len];
}
}
return max;
}[/code] Try it »

Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!

Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp bạn đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[...]

Translate »