#### .sort() -sắp xếp tăng dần
var array = [1, 8, 3, 5, 9, 7];
var sortedArray = array.sort();
console.log(sortedArray); // [1,3,5,7,8,9]
Lưu ý: Phương thức này trả lại một mảng mới và thứ tự các phần tử của mảng cũng bị thay đổi.
#### .reverse() - đảo ngược thứ tự của mảng
var array = [1, 8, 3, 5, 9, 7];
array.sort().reverse();
console.log(array); // [9,8,7,5,3,1]
#### .filter() - lọc kết quả
var people = [
{name: 'Helga Brekke', age: 25, gender: 'f', us: true},
{name: 'Christine Hansen', age: 18, gender: 'm', us: false,},
{ name: 'Crystal Hermann', age: 27, gender: 'm', us: false, }
];
var women = people.filter(function(person) {
// chỉ trả lại đối tượng có gender === 'f'
return person.gender === 'f';
});
console.log(women);
- arrow function:
let women = peoples.filter((person) => person.gender === 'f');
Chúng ta không có từ khoá return vì khi sử dụng arrow function trên 1 dòng,
thì Javascript mặc định trả lại giá trị của phần sau =>
------------------
var legal_people = people.filter((person) => {
// Nếu người đó thuộc US thì "lấy" những người có tuổi >= 20
// Nếu không thì "lấy" người có tuổi <= 18
return person.us ? person.age >= 20 : person.age <= 18;
});
console.log(legal_people);
- arrow function:
let legal_people
= people.filter((person) => person.us ? person.age >= 20 : person.age <= 18);
#### .map() - thêm và thay đổi giá trị của một phần tử
var people = [
{name: 'Helga Brekke', age: 25, gender: 'f', us: true},
{name: 'Christine Hansen', age: 18, gender: 'm', us: false,},
{ name: 'Crystal Hermann', age: 27, gender: 'm', us: false, }
];
var legalFunc = (person) => person.us ? person.age >= 20 : person.age <= 18;
var legalFieldIncluded = people.map((person) => {
// thêm trường `legal` với giá trị tương ứng với điều kiện lọc trên từng person
person.legal = legalFunc(person);
// trả lại đối tượng person với trường `legal` đã được thêm vào
return person;
});
console.table(legalFieldIncluded);
------------------------
var incAge = people.map((person) => {
// set the age key equal it plus 10
person.age = person.age + 10;
return person;
});
console.table(incAge);
#### .reduce() - hàm thống kê
var people = [
{name: 'Helga Brekke', age: 25, gender: 'f', us: true},
{name: 'Christine Hansen', age: 18, gender: 'm', us: false},
{name: 'Crystal Hermann', age: 27, gender: 'm', us: false}
];
var resultObj = people.reduce((starter, person) => {
person.gender === 'm' ? starter.men++ : starter.woman++;
// trả lại starter sau khi đã được thay đổi
return starter;
}, {men: 0, woman: 0}); // đối tượng khởi tạo của chúng ta
console.log(resultObj);
#### Các phương thức quan trọng khác của Array
.forEach(): Duyệt qua từng phần tử của mảng
.find(): Giống như .filter(), nhưng hàm này chỉ trả lại 1 phần tử
.push(): Thêm 1 phần tử vào cuối mảng
.pop(): Bỏ đi phần tử cuối cùng của mảng
.join(): Nối tất cả các phần tử của mảng thành một string
.concat(): Nối 2 hay nhiều mảng(hàm này sẽ trả lại một bản sao của mảng
sau khi đã thực hiện nối, không làm thay đổi mảng gọi nó)
Không có nhận xét nào:
Đăng nhận xét