1. Ví dụ đầu vào
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Cắt 15 từ đầu và thêm ...:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore…
2. Hàm cắt từ trong JavaScript
function trimWords(str, numWords, more = '') {
const clean = str
.trim()
.replace(/\s{2,}/g, ' ')
.replace(/\n\s/g, '\n');
const words = clean.split(' ');
if (words.length > numWords) {
return words.slice(0, numWords).join(' ') + more;
}
return str;
}
3. Cách sử dụng
const longText = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.';
const shortText = trimWords(longText, 15, '...');
console.log(shortText);
Kết quả:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore...
4. Gợi ý mở rộng
- Dùng để rút gọn mô tả bài viết, sản phẩm, bình luận…
- Có thể thay
morebằng<a href="#">Xem thêm</a>để dùng trong UI - Kết hợp với
innerTextđể rút gọn nội dung DOM tự động
Kết luận
Hàm trimWords() này cực kỳ nhỏ gọn và hiệu quả, phù hợp với mọi dự án frontend, đặc biệt là khi bạn muốn xử lý nội dung trực tiếp trên client. Đây là một trong những tiện ích nên có trong bất kỳ bộ công cụ JavaScript mini nào.
Bình luận