101 lines
2.7 KiB
JavaScript
101 lines
2.7 KiB
JavaScript
/*
|
|
|
|
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) |