Javascript merge arrays 3 cách nhanh gọn nhẹ

Nội dung bài viết

Video học lập trình mỗi ngày

Có nhiều tình huống bắt buộc chúng ta phải Merge arrays javascript. Và khi merge arrays thì sẽ có hai loại, một là Mutable arrays, hai là Immutable arrays. Không cần giải thích nhiều về "Javascript merge arrays" vì tôi cá ai cũng đã sử dụng ít nhất một lần trong đời. Và bạn làm thế nào? Có sử dụng 1 trong 3 cách sau đây không?


Merge sử dụng spread operator


Có nhiều tình huống chúng ta phải sử dụng spread operator, và đây cũng là một trong những tình huống đó.

const barca = ['Messi', 'Xavi'];
const mu = ['Rooney', 'Vidic'];

const all = [...barca, ...mu];

all; // ['Messi', 'Xavi', 'Rooney', 'Vidic']

Merge xong, nhanh gọn. Thứ tự output như thế nào nào cho chúng ta sắp xếp thứ tự thôi.

Merge sử dụng array.concat()

array.concat() quá quen thuộc rồi, từ hồi mới học thầy toàn dùng cái này.

const barca = ['Messi', 'Xavi'];
const mu = ['Rooney', 'Vidic'];

const all1 = barca.concat(mu);
const all2 = [].concat(barca, mu);

all1; // ['Messi', 'Xavi', 'Rooney', 'Vidic']
all2; // ['Messi', 'Xavi', 'Rooney', 'Vidic']

Bạn sử dụng cáo nào cũng được. Bạn nào chú ý không? Hai cách trên đều tạo ra một array mới, chứa dữ liệu mới, không làm ảnh hưởng tới những arrays cũ. Vậy trường hợp nào là thay đổi những arrays cũ?


Merge sử dụng array.push()


Việc sử dụng array.push() là chắc chắn sẽ thay đổi một trong những array, hay còn gọi là "Mutable merge of arrays". Xem ví dụ dưới đây.

const barca = ['Messi', 'Xavi'];
const mu = ['Rooney', 'Vidic'];

barca.push(...mu);

barca; // ['Messi', 'Xavi', 'Rooney', 'Vidic']

Sau khi kết quả được xuất ra, thì ta thấy barca đã thay đổi. Vì vậy muốn sử dụng như thế nào thì tuỳ thuộc vào ý đồ của các bạn thôi. 

Đây là một trong bài viết Serires - Mẹo javascript.

Có thể bạn đã bị missing