GithubHelp home page GithubHelp logo

phuchoa2001 / hoa-utils Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 8.9 MB

Thư viện tiện ích JavaScript cung cấp các hàm để so sánh đối tượng, sao chép đối tượng, và quản lý dữ liệu localStorage một cách hiệu quả.

Home Page: https://hoa-utils.netlify.app

License: Other

JavaScript 98.70% Shell 1.30%

hoa-utils's Introduction

Giới Thiệu

hoa-utils là một thư viện tiện ích JavaScript được thiết kế để cung cấp các hàm hữu ích cho việc phát triển phần mềm. Mục đích chính của thư viện này là giúp đơn giản hóa các tác vụ thường gặp như so sánh đối tượng, sao chép đối tượng, quản lý dữ liệu localStorage và tối ưu hiệu suất bằng cách lưu trữ kết quả của các hàm tính toán phức tạp.

Thư viện bao gồm các hàm chính sau:

Tên Hàm Tính Năng
compareObject So sánh sâu giữa hai đối tượng để kiểm tra sự bằng nhau về cấu trúc và giá trị.
cloneObject Tạo một bản sao sâu của đối tượng, đảm bảo rằng bản sao là một thực thể độc lập.
createKeyedStorage Tạo ra một đối tượng để quản lý dữ liệu trong localStorage với một key riêng biệt.
memoize Tạo ra một phiên bản memoized của một hàm, lưu trữ kết quả của hàm với các đầu vào nhất định để tránh tính toán lặp lại.
deepClone Tạo một bản sao sâu của đối tượng hoặc giá trị đã cho, sử dụng phương thức cloneDeep từ thư viện Lodash.
deepEqual So sánh sâu giữa hai giá trị, bao gồm đối tượng, mảng và kiểu dữ liệu nguyên thủy, sử dụng phương thức isEqual từ thư viện Lodash.

Thư viện hoa-utils được thiết kế dành cho các lập trình viên JavaScript, đặc biệt là những người làm việc với đối tượng, dữ liệu và tối ưu hiệu suất. Bằng cách sử dụng các hàm tiện ích này, các lập trình viên có thể đơn giản hóa mã nguồn, tăng tính nhất quán và đảm bảo tính chính xác trong việc xử lý dữ liệu.

Cài đặt và Sử dụng

Bạn có thể cài đặt hoa-utils thông qua npm:

npm install hoa-utils

Hoặc sử dụng CDN:

<script src="https://unpkg.com/hoa-utils"></script>

Sau khi cài đặt, bạn có thể sử dụng các hàm trong thư viện như sau:

import {
  compareObject,
  cloneObject,
  createKeyedStorage,
  memoize,
} from 'hoa-utils';

// Sử dụng các hàm ở đây

Tài liệu

Để tìm hiểu chi tiết về cách sử dụng từng hàm, hãy tham khảo tài liệu tại: https://hoa-utils.netlify.app

Về Dự án

hoa-utils được phát triển bởi Đặng Phúc Hòa và được phát hành dưới giấy phép MIT License.

Mã nguồn của dự án có thể được tìm thấy tại: https://github.com/phuchoa2001/hoa-utils

Mọi đóng góp, báo cáo lỗi hoặc yêu cầu tính năng mới đều được hoan nghênh. Hãy tham gia cùng chúng tôi để cải thiện và phát triển thư viện hoa-utils!

hoa-utils's People

Contributors

phuchoa2001 avatar

Stargazers

 avatar

Watchers

 avatar

hoa-utils's Issues

Đề xuất tính năng mới: Hàm tiện ích generateRandomString

Đề xuất tính năng mới: Hàm tiện ích generateRandomString

Mô tả tính năng:

Tôi muốn đề xuất thêm một hàm tiện ích mới vào thư viện react-hoa-utils để tạo ra chuỗi ngẫu nhiên. Hàm này sẽ giúp xử lý danh sách (list) một cách hiệu quả hơn bằng cách tạo ra các khóa (key) duy nhất cho mỗi phần tử trong danh sách.

Lý do và lợi ích:

Khi làm việc với danh sách trong React, chúng ta cần cung cấp một khóa duy nhất cho mỗi phần tử để React có thể theo dõi và cập nhật danh sách một cách hiệu quả. Tuy nhiên, việc tạo ra các khóa duy nhất thủ công có thể gây ra lỗi và không an toàn trong một số trường hợp.

Hàm generateRandomString sẽ giải quyết vấn đề này bằng cách tạo ra một chuỗi ngẫu nhiên duy nhất có thể được sử dụng làm khóa cho mỗi phần tử trong danh sách. Điều này sẽ giúp đảm bảo tính duy nhất của khóa và tránh các lỗi liên quan đến việc cập nhật danh sách không chính xác.

Cách sử dụng dự kiến:

Hàm generateRandomString sẽ nhận vào một tham số length (số lượng ký tự mong muốn trong chuỗi) và trả về một chuỗi ngẫu nhiên có độ dài tương ứng. Ví dụ:

import { generateRandomString } from 'react-hoa-utils';

const MyList = ({ items }) => (
  <ul>
    {items.map(item => (
      <li key={generateRandomString(10)}>{item.name}</li>
    ))}
  </ul>
);

Trong ví dụ trên, hàm generateRandomString(10) sẽ tạo ra một chuỗi ngẫu nhiên có độ dài 10 ký tự và sử dụng nó làm khóa cho mỗi phần tử trong danh sách.

Yêu cầu về tính năng:

  • Hàm generateRandomString nên có khả năng tạo ra chuỗi ngẫu nhiên với độ dài tùy ý.
  • Chuỗi ngẫu nhiên nên bao gồm các ký tự alphanumeric (chữ cái và số) để đảm bảo tính duy nhất.
  • Hàm nên được viết một cách hiệu quả và an toàn, sử dụng các phương pháp tạo số ngẫu nhiên an toàn (ví dụ: crypto.getRandomValues()).
  • Hàm nên có tài liệu mô tả rõ ràng về cách sử dụng và các tham số đầu vào.

Tôi hy vọng đề xuất này sẽ giúp cải thiện trải nghiệm làm việc với danh sách trong React và tăng tính bảo mật cho ứng dụng. Xin cảm ơn đã xem xét đề xuất của tôi.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.