Hướng dẫn javascript swap array elements - javascript hoán đổi các phần tử mảng

Khi bạn làm việc với các mảng, có những lúc bạn cần trao đổi hai phần tử trong một mảng trong JavaScript.

Có thể bạn đang làm việc trên một câu hỏi thuật toán như thuật toán sắp xếp bong bóng nơi bạn cần so sánh hai giá trị và sau đó trao đổi chúng nếu điều kiện của bạn là đúng.

Bên cạnh đó, nhiều tình huống khác có thể yêu cầu bạn trao đổi các yếu tố mảng.

Trong trường hợp bạn không hiểu ý tôi là "hoán đổi", đây là một ví dụ. Giả sử bạn có một mảng số và bạn muốn trao đổi phần tử tại Index 1 là -2 với phần tử tại Index

const swapElements = [array, index1, index2] => {
    let temp = array[index1];
    array[index1] = array[index2];
    array[index2] = temp;
};

let myArray = [12, -2, 55, 68, 80];
swapElements[myArray, 0, 1];
console.log[myArray]; // [-2,12,55,68,80]
0 là 12, như được thấy trong hình ảnh dưới đây:-2 with the element at index
const swapElements = [array, index1, index2] => {
    let temp = array[index1];
    array[index1] = array[index2];
    array[index2] = temp;
};

let myArray = [12, -2, 55, 68, 80];
swapElements[myArray, 0, 1];
console.log[myArray]; // [-2,12,55,68,80]
0 which is 12, as seen in the image below:

Việc thực hiện điều này trong JavaScript có thể gây nhầm lẫn nếu bạn chưa quen thuộc với cách JS thực hiện những loại này. Bạn cũng có thể đang tìm kiếm những cách tốt hơn để xử lý việc này.

Bài viết này sẽ dạy cho bạn ba cách tiếp cận: sử dụng một biến tạm thời, phá hủy và sử dụng phương pháp mảng

const swapElements = [array, index1, index2] => {
    let temp = array[index1];
    array[index1] = array[index2];
    array[index2] = temp;
};

let myArray = [12, -2, 55, 68, 80];
swapElements[myArray, 0, 1];
console.log[myArray]; // [-2,12,55,68,80]
1.

Cách trao đổi hai phần tử mảng với biến tạm thời

Để trao đổi các yếu tố, bạn có thể sử dụng một biến tạm thời và trải qua ba bước.

Bước đầu tiên là tạo một biến tạm thời để giữ giá trị của phần tử đầu tiên. Bước thứ hai là đặt giá trị của phần tử thứ nhất thành giá trị của phần tử thứ hai. Bước thứ ba là đặt giá trị của phần tử thứ hai thành giá trị trong biến tạm thời.

let myArray = [12, -2, 55, 68, 80];

const temp = myArray[0];
myArray[0] = myArray[1];
myArray[1] = temp;

console.log[myArray]; // [-2,12,55,68,80]

Bạn cũng có thể tạo một chức năng có thể tái sử dụng để xử lý điều này, theo đó bạn chỉ định mảng và hai chỉ mục bạn muốn trao đổi.

const swapElements = [array, index1, index2] => {
    let temp = array[index1];
    array[index1] = array[index2];
    array[index2] = temp;
};

let myArray = [12, -2, 55, 68, 80];
swapElements[myArray, 0, 1];
console.log[myArray]; // [-2,12,55,68,80]

Cách trao đổi hai phần tử mảng bằng cách phá hủy

Một phương pháp tốt hơn nhiều bạn có thể sử dụng để trao đổi các yếu tố mảng đang phá hủy, vì nó thực hiện công việc chỉ trong một dòng mã.

Bạn chỉ cần tạo một mảng mới chứa cả hai phần tử theo một thứ tự cụ thể, sau đó gán nó cho một mảng mới chứa cả hai phần tử theo thứ tự đảo ngược.

let myArray = [12, -2, 55, 68, 80];

[myArray[0], myArray[1]] = [myArray[1], myArray[0]];

console.log[myArray]; // [-2,12,55,68,80]

Bạn cũng có thể tạo một chức năng có thể tái sử dụng để xử lý điều này, theo đó bạn chỉ định mảng và hai chỉ mục bạn muốn trao đổi.

const swapElements = [array, index1, index2] => {
    [myArray[index1], myArray[index2]] = [myArray[index2], myArray[index1]];
};

let myArray = [12, -2, 55, 68, 80];
swapElements[myArray, 0, 1];
console.log[myArray]; // [-2,12,55,68,80]

Cách trao đổi hai phần tử mảng bằng cách phá hủy

Một phương pháp tốt hơn nhiều bạn có thể sử dụng để trao đổi các yếu tố mảng đang phá hủy, vì nó thực hiện công việc chỉ trong một dòng mã.

// Syntax
array.splice[index, howmany, element1, ....., elementX]

Bạn chỉ cần tạo một mảng mới chứa cả hai phần tử theo một thứ tự cụ thể, sau đó gán nó cho một mảng mới chứa cả hai phần tử theo thứ tự đảo ngược.

let myArray = [12, -2, 55, 68, 80];

myArray.splice[1, 1];
console.log[myArray]; // 12,55,68,80]

Cách trao đổi hai phần tử mảng bằng phương pháp

const swapElements = [array, index1, index2] => {
    let temp = array[index1];
    array[index1] = array[index2];
    array[index2] = temp;
};

let myArray = [12, -2, 55, 68, 80];
swapElements[myArray, 0, 1];
console.log[myArray]; // [-2,12,55,68,80]
2

let myArray = [12, -2, 55, 68, 80];

myArray.splice[1, 1, 32];
console.log[myArray]; // [12,32,55,68,80]

Cuối cùng, bạn có thể sử dụng phương thức mảng

const swapElements = [array, index1, index2] => {
    let temp = array[index1];
    array[index1] = array[index2];
    array[index2] = temp;
};

let myArray = [12, -2, 55, 68, 80];
swapElements[myArray, 0, 1];
console.log[myArray]; // [-2,12,55,68,80]
1. Bạn có thể sử dụng phương thức này để loại bỏ một hoặc nhiều phần tử khỏi một mảng và thay thế [các] phần tử bằng bất kỳ phần tử được chỉ định nào.

let myArray = [12, -2, 55, 68, 80];

myArray[0] = myArray.splice[1, 1, myArray[0]][0];

console.log[myArray]; // [-2,12,55,68,80]

Ví dụ: nếu bạn có một mảng và muốn xóa một phần tử cụ thể, bạn sẽ chỉ định ID của nó và số lượng phần tử bạn muốn xóa. Trong trường hợp của chúng tôi, nó chỉ là một.

const swapElements = [array, index1, index2] => {
    myArray[index1] = myArray.splice[index2, 1, myArray[index1]][0];
};

let myArray = [12, -2, 55, 68, 80];
swapElements[myArray, 0, 1];
console.log[myArray]; // [-2,12,55,68,80]

Ngoài ra, nếu bạn muốn thay thế phần tử bị xóa bằng một phần tử khác, mã của bạn sẽ trông như thế này:

Nhưng nếu bạn muốn trao đổi hai yếu tố, bạn sẽ có một cái gì đó như thế này:

Bạn cũng có thể tạo một chức năng có thể tái sử dụng để xử lý điều này, theo đó bạn chỉ định mảng và hai chỉ mục bạn muốn trao đổi:

Gói lên

Trong bài viết này, bạn đã học được ba phương pháp để trao đổi các yếu tố của một mảng trong JavaScript.

Bài Viết Liên Quan

Chủ Đề