Chuyển tới nội dung chính
Phiên bản: 7.5.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]

reducer 7.5.0​

Tạo một object chứa danh sách các item hỗ trợ sẳn các method add, update, delete, empty

const products = SkilldoUtil.reducer();
add​

Thêm một item

products.add({
id: 1,
name: 'sản phẩm demo'
})
update​

Cập nhật một item dựa vào id

products.update({
id: 1,
name: 'sản phẩm cập nhật'
})
delete​

Xóa một item dựa vào id

products.delete(1)
has​

Kiểm tra một item đã tồn tại hay chưa dựa vào id, kết quả trả về true nếu có item

if(products.has(1)) {
//to do
}
get​

Lấy thông tin của item dựa vào id

if(products.has(1)) {
let item = products.get(1)
}
empty​

Làm rỗng danh sách

products.empty()