Bài tập về nhà buổi 18
Các bài tập về Chuỗi.
Cơ bản về Array và một số ví dụ.
Bài 1: Cho trước mảng
const arr = [1, 2, 3, 4, 5, 6];
* Tạo mảng mới chứa bình phương của từng phần tử.
* Tạo mảng mới chứa các số chẵn trong mảng.
* Tạo mảng mới chứa các số bình phương nhưng chỉ lấy số lẻ.
const arr = [1, 2, 3, 4, 5, 6];
const getSquareOfNum = (arr) => {
let newArr = [];
for (let num of arr) {
newArr[newArr.length] = num ** 2;
}
return newArr;
};
console.log(getSquareOfNum(arr)); //(6) [1, 4, 9, 16, 25, 36]
const getEvenNum = (arr) => {
let newArr = [];
for (let num of arr) {
if (num % 2 === 0) newArr[newArr.length] = num;
}
return newArr;
};
console.log(getEvenNum(arr)); //(3) [2, 4, 6]
const getSquareOfOddNum = (arr) => {
let newArr = [];
for (let num of arr) {
if (num % 2 !== 0) newArr[newArr.length] = num ** 2;
}
return newArr;
};
console.log(getSquareOfOddNum(arr)); //(3) [1, 9, 25]
Bài 2: Cho trước mảng
const names = [" hoang ", "AN", " f8 ", "Education"];
* Tạo mảng mới chứa các phần tử đã được xoá khoảng trắng thừa và
viết thường toàn bộ.
=> Kết quả: ["hoang", "an", "f8", "education"]
* Tạo mảng mới viết chữ cái đầu hoa
=> Kết quả: (Hoang, An, F8, Education)
const names = [" hoang ", "AN", " f8 ", "Education"];
function transformArray(arr, callback) {
let newArr = [];
for (let name of arr) {
newArr[newArr.length] = callback(name);
}
return newArr;
}
function toCleanLowerString(name) {
return name.trim().toLowerCase();
}
function capitalizeFirst(name) {
name = toCleanLowerString(name);
return name[0].toUpperCase() + name.slice(1);
}
console.log(transformArray(names, toCleanLowerString));
//(4) ['hoang', 'an', 'f8', 'education']
console.log(transformArray(names, capitalizeFirst));
//(4) ['Hoang', 'An', 'F8', 'Education']
Bài 3: Cho trước mảng
const nums = [3, 7, 2, 9, 12, 15, 18];
* Lấy ra mảng mới chỉ chứa số lớn hơn hoặc bằng 10.
* Từ mảng mới trên, tạo mảng chỉ chứa số chia hết cho 3.
* Với mảng ban đầu, tạo mảng mới tăng gấp đôi nhưng chỉ giữ lại số
lẻ.
const nums = [3, 7, 2, 9, 12, 15, 18];
function getNumGreaterThan10(arr) {
let newArr = [];
for (let num of arr) {
if (num >= 10) {
newArr[newArr.length] = num;
}
}
return newArr;
}
console.log(getNumGreaterThan10(nums));
function getNumbersDivisibleBy3(arr) {
let newArr = [];
for (let num of arr) {
if (num % 3 === 0) newArr[newArr.length] = num;
}
return newArr;
}
console.log(getNumbersDivisibleBy3(getNumGreaterThan10(nums)));
function getDoubleOddNumbers(arr) {
let newArr = [];
for (let num of arr) {
if (num % 2 !== 0) {
newArr[newArr.length] = num * 2;
}
}
return newArr;
}
console.log(getDoubleOddNumbers(nums));
Bài 4: Cho trước mảng
const words = ["javascript", "php", "css", "html", "python",
"java"];
* Lọc ra các từ có độ dài >= 5.
* Tạo mảng mới viết hoa toàn bộ.
* Tạo mảng mới viết ngược từng chuỗi (tpircsavaj, avaj...).
const words = ["javascript", "php", "css", "html", "python", "java"];
function filterLongWords(arr) {
let newArr = [];
for (let word of arr) {
if (word.length >= 5) {
newArr[newArr.length] = word;
}
}
return newArr;
}
console.log(filterLongWords(words));
//Sử dụng lại function transformArray() ở bài 2
function toUpperCaseWords(word) {
return word.toUpperCase();
}
console.log(transformArray(words, toUpperCaseWords));
//Sử dụng lại function transformArray() ở bài 2
function reverseString(word) {
let newWord = "";
for (let i = word.length - 1; i >= 0; i--) {
newWord += word[i];
}
return newWord;
}
console.log(transformArray(words, reverseString));