Nhảy tới nội dung
Phiên bản: 7.3.0

SkilldoUtil

class cung cấp một số method thường hay sử dụng

buttonLoading

Tạo đối tượng loading cho button. Tham số nhận vào là đối tượng muốn tạo loading

let button = document.getElementById('buttonLoading')

let loading = SkilldoUtil.buttonLoading(button)

//bắt đầu hiển thị loading
button.start()

//kết thúc loading
button.stop()

uniqId

Hàm SkilldoUtil.uniqId được sử dụng để tạo ra một chuỗi ID duy nhất mỗi khi nó được gọi. Chuỗi ID này được tạo ra bằng cách kết hợp timestamp hiện tại, một chuỗi ngẫu nhiên, và một bộ đếm nội bộ. Hàm đảm bảo rằng mỗi lần được gọi sẽ trả về một ID khác nhau, ngay cả khi được gọi liên tiếp trong thời gian ngắn.

let id = SkilldoUtil.uniqId()

SkilldoUtil.cookie cung cấp các method giúp bạn thao tác với cookie dễ dàng hơn

Hàm SkilldoUtil.cookie.set được sử dụng để tạo hoặc cập nhật một cookie trên trình duyệt. Cookie này sẽ lưu trữ một giá trị cụ thể cho một khoảng thời gian nhất định và có thể được áp dụng cho một đường dẫn nhất định trong trang web.

  • name: tên cookie
  • value: giá trị của cookie
  • time: thời gian tồn tại của cookie tính bằng phút
  • path
SkilldoUtil.cookie.set('login', true, 30)

Kiểu củ

SkilldoUtil.setCookie('login', true, 30)

Hàm SkilldoUtil.cookie.get được sử dụng để lấy giá trị của một cookie dựa trên tên của nó. Nếu cookie tồn tại, hàm sẽ trả về giá trị của nó, ngược lại sẽ trả về một chuỗi rỗng.

let isLogin = SkilldoUtil.cookie.get('login')

Kiểu củ

let isLogin = SkilldoUtil.getCookie('login')

Hàm SkilldoUtil.cookie.del được sử dụng để xóa một cookie khỏi trình duyệt bằng cách thiết lập thời gian hết hạn của cookie về một ngày trong quá khứ.

SkilldoUtil.cookie.del('login')

Kiểu củ

SkilldoUtil.delCookie('login')

formatNumber

method định dạng một số theo hàng ngìn

SkilldoUtil.formatNumber(10000000) // 10,000,000

isset

Hàm SkilldoUtil.isset được sử dụng để kiểm tra xem một phần tử HTML có tồn tại và hợp lệ hay không. Hàm này có thể xử lý đầu vào là một chuỗi (string) đại diện cho một CSS selector hoặc là một đối tượng jQuery. Hàm sẽ trả về giá trị true nếu phần tử tồn tại và có thuộc tính innerHTML, ngược lại, sẽ trả về false.

SkilldoUtil.isset('.btn-login') //true or false
SkilldoUtil.isset($('.btn-login')) //true or false

debounce

Tạo một debounce để trì hoãn việc gọi func cho đến khi hết một phần nghìn giây chờ đợi kể từ lần cuối cùng debounce được gọi.

$(document).on('keyup', '.js_input_search', SkilldoUtil.debounce(function () {
searchObject() //function search
}, 500));

slugify 7.3.0

Bạn đã bao giờ thấy mình cần chuyển tiêu đề bài viết trên blog của mình sang định dạng 'URL-like' chưa?

SkilldoUtil.slugify('Siêu Kinh Doanh')
//sieu-kinh-doanh

LocalStorage 7.3.0

Bạn có thể đã sử dụng localStorage trong các ứng dụng danh sách việc cần làm của mình hoặc bất kỳ dự án nào khác để lưu dữ liệu cụ thể vào bộ nhớ máy tính của người dùng. Khi lấy và thiết lập các mục, bạn phải sử dụng các phương thức JSON pars() và stringify() để đạt được kết quả mong muốn. Vì vậy, hãy làm cho việc làm việc với họ trở nên dễ dàng hơn.

set storage

Hàm SkilldoUtil.storage.set được sử dụng để tạo hoặc cập nhật một LocalStorage trên trình duyệt.

  • name: tên LocalStorage
  • value: giá trị của LocalStorage
SkilldoUtil.storage.set('login', true)

get storage

Hàm SkilldoUtil.storage.get được sử dụng để lấy giá trị của một LocalStorage dựa trên tên của nó

let isLogin = SkilldoUtil.storage.get('login', defaultValue)

remove storage

Hàm SkilldoUtil.storage.remove được sử dụng để xóa một LocalStorage khỏi trình duyệt.

SkilldoUtil.storage.remove('login')

clear storage

Hàm SkilldoUtil.storage.clear được sử dụng để xóa toàn bộ LocalStorage khỏi trình duyệt.

SkilldoUtil.storage.clear()

validate 7.3.0

SkilldoUtil.validate hỗ trợ cho bạn kiểm tra một số kiểu dữ liệu

email

Kiểm tra string có đúng định dạng mail

SkilldoUtil.validate.email('email-test@gmail.com') //true
SkilldoUtil.validate.email('email-test-gmail.com') //false

url

Kiểm tra string có đúng định dạng url

SkilldoUtil.validate.url('https://domain.com') //true

youtube

Kiểm tra string có phải là một link video youtube

SkilldoUtil.validate.youtube('https://domain.com') //false

number

Kiểm tra string có phải kiểu số

SkilldoUtil.validate.number(1) //true
SkilldoUtil.validate.number('1') //false

strIsNumeric

Kiểm tra string có phải là số

SkilldoUtil.validate.strIsNumeric(1) //true
SkilldoUtil.validate.strIsNumeric('1') //false

Object 7.3.0

SkilldoUtil.object cung cấp cho bạn một số function xử lý object cơ bản

is

nếu đối tượng có kiểu object sẽ trả về true ngược lại là false

console.log(SkilldoUtil.object.is({ a: 1 })); // true
console.log(SkilldoUtil.object.is([1, 2, 3])); // false

isEmpty

nếu đối tượng là object rỗng thì sẽ trả về true ngược lại là false

console.log(SkilldoUtil.object.isEmpty({})); // true
console.log(SkilldoUtil.object.isEmpty({ a: 1 })); // false

merge

Gộp nhiều object lại thành một object

console.log(SkilldoUtil.object.merge({ a: 1 }, { b: 2 }, { a: 3 })); // { a: 3, b: 2 }

deepMerge

Gộp nhiều object đa chiều vào thành một object

const obj1 = { a: 1, b: { x: 10 } };
const obj2 = { b: { y: 20 }, c: 3 };
console.log(SkilldoUtil.object.deepMerge(obj1, obj2)); // { a: 1, b: { x: 10, y: 20 }, c: 3 }

clone

Tạo một bản sao của một object

const original = { a: 1, b: { c: 2 } };
const clone = SkilldoUtil.object.clone(original);
clone.b.c = 3;
console.log(original.b.c); // 2
console.log(clone.b.c); // 3

map

Tạo một object mới có cùng khóa nhưng có các giá trị được chuyển đổi bằng callback. Tương tự như array.map(), nhưng dành cho đối tượng

console.log(SkilldoUtil.object.map({ a: 1, b: 2, c: 3 }, (value) => value * 2)); // { a: 2, b: 4, c: 6 }

filter

Tạo một object mới chỉ có các thuộc tính vượt qua chức năng lọc. Tương tự như array.filter(), nhưng dành cho đối tượng

console.log(SkilldoUtil.object.filter({ a: 1, b: 2, c: 3 }, (value) => value > 1)); // { b: 2, c: 3 }

Array 7.3.0

SkilldoUtil.array cung cấp cho bạn một số function xử lý array cơ bản

unique

Loại bỏ các giá trị trùng lặp khỏi một mảng

console.log(SkilldoUtil.array.unique([1, 2, 2, 3, 4, 4, 5])); // [1, 2, 3, 4, 5]
flatten

Làm phẳng một mảng lồng nhau

const nestedArray = [1, [2, [3, 4], 5], 6];
const flatArray = SkilldoUtil.array.flatten(nestedArray);
console.log('Flattened:', flatArray);
merge

Hợp nhất nhiều mảng

const array1 = [1, 2];
const array2 = [3, 4];
const mergedArray = SkilldoUtil.array.merge(array1, array2);
console.log('Merged:', mergedArray);
sort

Sắp xếp một mảng

const unsortedArray = [5, 3, 8, 1];
const sortedArray = SkilldoUtil.array.sort(unsortedArray, (a, b) => a - b);
console.log('Sorted:', sortedArray);
find

Tìm một phần tử trong mảng

const foundElement = SkilldoUtil.array.find(numbers, (num) => num > 3);
console.log('Found Element:', foundElement);
findIndex

Tìm chỉ số của một phần tử trong mảng

const foundIndex = SkilldoUtil.array.findIndex(numbers, (num) => num > 3);
console.log('Found Index:', foundIndex);
intersect

Trả về các điểm giống nhau của hai mảng

console.log(SkilldoUtil.array.intersect([1, 2, 3], [2, 3, 4])); // [2,3]
difference

Trả về sự khác biệt giữa hai mảng

console.log(SkilldoUtil.array.difference([1, 2, 3], [2, 3, 4])); // [1,4]