Thứ Năm, 1 tháng 4, 2021

Javascript - Các hàm hữu ích trong array



#### .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

Học lập trình web căn bản với PHP

Bài 1: Các kiến thức căn bản Part 1:  https://jimmyvan88.blogspot.com/2012/05/can-ban-lap-trinh-web-voi-php-bai-1-cac.html Part 2:  https://...