This commit is contained in:
Your Name
2026-05-15 20:35:45 +07:00
commit 6439615a3f
8 changed files with 235 additions and 0 deletions

101
quan_ly_sach.js Normal file
View File

@@ -0,0 +1,101 @@
/*
Luyện tập thao tác với mảng đối tượng trong JavaScript, bao gồm:
Thêm mới sách vào danh sách.
Hiển thị danh sách sách.
Tìm kiếm sách theo tên.
Xóa sách theo ID.
Thoát chương trình.
book -> id, title, author, category, price
*/
const bookList = [
{
id: -1,
title: "Học cách yêu",
author: "Nguyễn Phước",
category: "tình cảm",
price: 99999
},
{
id: -2,
title: "Học làm giàu",
author: "Nguyễn Phước",
category: "đời sống",
price: 10000
}
]
let genId = 0;
let choice = null;
do {
console.log("1/ Thêm Sách")
console.log("2/ Hiển thị Sách")
console.log("3/ Tìm sách (by title)")
console.log("0/ Thoát")
choice = +prompt("Nhập lựa chọn của bạn")
switch (choice) {
case 1:
let id = genId++;
let newBook = {
id,
title: prompt("Nhập tên sách!", "Sách " + id),
author: prompt("Nhập tên tác giả"),
category: prompt("Nhập danh mục sách"),
price: +prompt("Nhập giá sách", 0)
}
/* Check giá */
while (isNaN(newBook.price)) {
newBook.price = +prompt("Nhập giá sách", 0);
}
bookList.push(newBook);
alert("Thêm thành công!")
break;
case 2:
if (bookList.length == 0) {
console.log("Không có sách nào trong kho!")
break;
}
console.log("bookList", bookList)
break
case 3:
let inputSearch = prompt("Nhập từ khóa muốn tìm")
console.log("Sách tìm thấy: ")
for (book of bookList) {
// "Học cách yêu".includes("yêu") => true
// "Học cách yêu".includes("giàu") => false
if (book.title.replaceAll(" ", "").toLowerCase().includes(inputSearch.replaceAll(" ", "").toLowerCase())) {
console.log("book", book.title)
}
}
break;
case 4:
let inputId = prompt("Nhập id muốn xóa!")
for(let i = 0; i < bookList.length; i++) {
if(bookList[i].id == inputId) {
bookList.splice(i, 1)
break;
}
}
console.log("danh sách sau xóa là", bookList)
break;
case 0:
break;
default:
alert("Lựa chọn không hợp lệ!")
}
} while (choice != 0)