Mảng trong javascript là các biến đặc biệt, mỗi mảng chứa nhiều giá trị và được đánh chỉ số từ 0. Xử lý mảng là kiến thức quan trọng, vì rất thường hay dùng để giải quyết các bài toán thực tế như sắp xếp, tìm kiếm, tính toán, duyệt phần tử… Trong javascript, mỗi mảng là đối tượng
Khai báo mảng trong javascript
Để khai báo một mảng, , bạn dùng cú pháp như sau:
<script>
var arr = []; //khai báo mảng rỗng
var arr = ["Nhân", "Lễ", "Nghĩa"];//mảng có 3 giá trị,chỉ số là 0, 1, 2
</script>
Các hàm xử lý mảng trong javascript
Sau đây là một số hàm thường dùng để xử lý mảng trong javascript:
Hàm toString() : Là hàm dùng để ghép các phần tử của mảng thành chuỗi ký tự, các phần tử cách nhau bởi dấu phẩy. Ví dụ dùng hàm toString như sau:
<script>
var arr = ["Nhân", "Lễ", "Nghĩa"] ;
var str = arr.toString();
console.log(str); // Nhân,Lễ,Nghĩa
</script>
join() Dùng Join để ghép các phần tử của mảng thành chuỗi ký tự, các phần tử cách nhau bởi ký tự truyền vào. Ví dụ dùng hàm join như sau:
<script>
var arr = ["Nhân", "Lễ", "Nghĩa"] ;
var str = arr.join("-");
console.log(str); // Nhân-Lễ-Nghĩa
</script>
push() Là hàm dùng để thêm phần tử vào cuối mảng. Ví dụ dùng hàm push như sau:
<script>
var arr = ["Nhân", "Lễ", "Nghĩa"] ;
var str = arr.push("Trí");
console.log(arr); // ["Nhân", "Lễ", "Nghĩa", "Trí"]
</script>
pop() Đây là hàm dùng để lấy ra và xóa phần tử cuối của mảng.
<script>
var arr = ["Nhân", "Lễ", "Nghĩa"] ;
var str = arr.pop();
console.log(str, arr); // Nghĩa ["Nhân", "Lễ"]
</script>
unshift() Hàm thêm 1 phần tử vào đầu mảng
<script>
var arr = ["Nhân", "Lễ", "Nghĩa"] ;
var str = arr.unshift("Tín");
console.log(arr); // ["Tín", "Nhân", "Lễ", "Nghĩa"]
</script>
shift() Giúp lấy ra và xóa phần tử đầu mảng
<script>
var arr = ["Nhân", "Lễ", "Nghĩa"] ;
var str = arr.shift();
console.log(str, arr); // Nhân ["Lễ", "Nghĩa"]
</script>
slice() Lấy ra các phần tử của mảng từ start đến trước end
<script>
var diem = [7, 2, 9, 1, 0, 8, 1] ;
var d = diem.slice(3, 6); //lấy các phần tử từ vị trí 3 đến thứ 5
console.log(d); // [1, 0, 8]
</script>
filter() Lấy ra các phần tử thõa mãn điều kiện trong hàm calback
<script>
var soluong = [7, 2, 9, 1, 12, 8, 3] ;
var soluongnhieu = soluong.filter(function (value, index)
if (value>=5) return true;
});
console.log(soluongnhieu); // [7, 9, 12, 8]
</script>
reverse() đảo ngược 1 mảng
<script>
var nu = ["Em", "Không","Yêu","Anh"] ;
var d = nu.reverse();
console.log(d); // ["Anh", "Yêu", "Không", "Em"]
</script>
splice(position, numDel, value1, value2, .. ) : Tại position xóa numDel phần tử, rồi tại đó thêm các phần tử vào value1, value2 vào mảng. Ví dụ:
<script>
var soluong = [7,8,2,5,12,9,20,4] ;
soluong.splice(3, 2, 30, 40, 50);//từ vị trí 3 xóa 2 phần tử (5, 12) rồi tại đó chèn 30,40,50
console.log(soluong); // [7, 8, 2, 30, 40, 50, 9, 20, 4]
</script>
sort(): hàm này dùng để sắp xếp mảng theo thứ tự chữ cái alphabet. Do đó nếu sắp xếp mảng chứa dữ liệu số thì sẽ được kết quả không chính xác.
<script>
var soluong = [7,8,2,5,12,9,20,4] ;
soluong.sort();//sắp xếp theo alphabet
console.log(soluong); // [12, 2, 20, 4, 5, 7, 8, 9]
soluong.sort(function(a,b){ return a-b});//sắp theo số, tăng dần
console.log(soluong); // [2, 4, 5, 7, 8, 9, 12, 20]
soluong.sort(function(a,b){ return b-a});//sắp theo số, giảm dần
console.log(soluong); // [20, 12, 9, 8, 7, 5, 4, 2]
</script>
forEach(): hàm này dùng khi cần duyệt qua từng phần tử của mảng, hàm callback nhận tham số là giá trị và chỉ số của phần tử được duyệt.
<script>
var soluong = [7,8,2,5,12,9,20,4] ;
soluong.forEach(function(value, index){
console.log(index + " : " + value );
})
</script>
map(): hàm này dùng để duyệt qua từng phần tử của mảng và trả về 1 mảng mới (không ảnh hưởng đến mảng gốc) có cấu trúc tùy chỉnh. Ví dụ:
<script>
var listsv = [
{ht:"Mai Thanh Toán", tuoi: 20},
{ht:"Thi Hoài", tuoi: 22},
{ht:"Phạm Luật", tuoi: 19},
{ht:"Mai Anh Tới", tuoi: 21},
] ;
var ht_arr = listsv.map( (sv, index) => {return sv.ht} );
console.log(ht_arr);// ["Mai Thanh Toán", "Thi Hoài", "Phạm Luật", "Mai Anh Tới"]
var tuoi_arr = listsv.map( (sv, index) => {return sv.tuoi} );
console.log(tuoi_arr);// [20, 22, 19, 21]
</script>
Trên đây là cách khai báo và mình họa các àm thường dùng để xử lý mảng trong javascript. Khi nào cần bạn quay lại coi nhé.
Đọc thêm bài này Biến kiểu dữ liệu toán tử và biểu thức trong Javascript , và https://www.w3schools.com/js/js_arrays.asp