Làm cách nào để bạn tạo một từ ngẫu nhiên trong javascript?

Gói npm random-words nhận được tổng cộng 43.972 lượt tải xuống mỗi tuần. Do đó, chúng tôi đã chấm điểm mức độ phổ biến của các từ ngẫu nhiên để được Công nhận

Dựa trên số liệu thống kê dự án từ kho lưu trữ GitHub cho các từ ngẫu nhiên của gói npm, chúng tôi thấy rằng nó đã được gắn dấu sao 202 lần và 178 dự án khác trong hệ sinh thái phụ thuộc vào nó

Số lượt tải xuống được tính là trung bình động trong khoảng thời gian 12 tháng qua, không bao gồm các ngày cuối tuần và các điểm dữ liệu bị thiếu đã xác định

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
3 tạo các từ ngẫu nhiên để sử dụng làm văn bản mẫu. Chúng tôi sử dụng nó để tạo các bài đăng blog ngẫu nhiên khi thử nghiệm Dấu nháy đơn

Tính ngẫu nhiên của chất lượng mật mã KHÔNG phải là mục tiêu, vì tốc độ quan trọng để tạo văn bản mẫu và bảo mật không.

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
4 được sử dụng

Tạo nội dung giả với các từ ngẫu nhiên có thể thuận tiện cho mục đích thử nghiệm. Đó là lý do tại sao hôm nay, chúng ta sẽ tạo một hàm JavaScript để thực hiện điều đó. Thật đơn giản với môn Toán. phương thức ngẫu nhiên, vòng, vòng lặp while và bản đồ trong JavaScript

Sử dụng mã này để tạo trình tạo Ipsum của riêng bạn, để bạn có nội dung được tạo ngẫu nhiên bao nhiêu tùy thích 👍

Bạn có thể sử dụng thư viện nếu muốn, nhưng vì thư viện này rất đơn giản và có thể được xây dựng với không nhiều dòng mã nên bạn có thể tự làm nó

Để tạo nội dung với các từ ngẫu nhiên, chúng tôi cần ba chức năng và một nguồn của cụm từ

  1. Một hàm cung cấp cho chúng ta một số ngẫu nhiên
  2. Một chức năng cung cấp cho chúng tôi một từ ngẫu nhiên
  3. Một hàm đặt nhiều từ vào một chuỗi
  4. Nguồn cho các từ sẽ là một Mảng được xác định với các từ. (Nhận nó từ Gist của tôi)

Tạo số ngẫu nhiên

Vì chúng tôi muốn lấy một từ ngẫu nhiên từ nguồn của mình, chúng tôi cần tạo một số chỉ mục ngẫu nhiên. Với hàm này chúng ta cần lưu ý giá trị nhỏ nhất và lớn nhất của Mảng là bao nhiêu

js

Math.random()// Returns 0.534098468876492

sao chép mã

Với

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
4, chúng tôi nhận được số float ngẫu nhiên trong khoảng từ 0 đến thấp hơn 1. Ví dụ, khi nhân số đó với 10, chúng ta sẽ nhận được một số từ 0 đến nhỏ hơn 10. Nhưng trong trường hợp này, chúng tôi muốn có một số không nhỏ hơn 0 và nhỏ hơn hoặc bằng 10

js

Math.random() * (10 - 0) + 0// Returns 8.448742196214798

sao chép mã

Nhưng ngay bây giờ, nó vẫn nổi trở lại. Vì vậy, chúng ta phải sử dụng

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
5 để lấy một số nguyên

js

Math.round(Math.random() * (10 - 0) + 0)// Returns 6 or 5 or 9 or 10

sao chép mã

Với phép tính này, ta có thể lấy một số từ 0 đến 10 hoặc bằng 10. Bạn có thể kiểm tra điều đó một cách nhanh chóng nếu nó hoạt động như bạn mong đợi

js

let number = 0let steps = 0while (number != 10) {    number = Math.round(Math.random() * (10 - 0) + 0)    steps = steps + 1    console.log('steps', steps)}

sao chép mã

Với mã này, bạn đang chạy một vòng lặp cho đến khi nó trở thành 10. Bằng cách theo dõi các bước, bạn có thể biết nó cần bao nhiêu vòng. Mỗi khi bạn chạy cái này, bạn sẽ biết rằng nó yêu cầu một số vòng khác nhau

js

function randomNumber(min, max) {    return Math.round(Math.random() * (max - min) + min)}

sao chép mã

Đây là chức năng cuối cùng này để lấy một số ngẫu nhiên giữa hai số. Hãy tiếp tục lấy một từ ngẫu nhiên từ nguồn của chúng tôi, Array


Nhận một từ ngẫu nhiên

Tôi đã tìm thấy một bộ sưu tập các từ ngẫu nhiên hay để sử dụng cho bài đăng này. Bạn có thể tìm thấy nó trên Gist. Nhưng trong bài viết này, tôi sẽ sử dụng một phiên bản ngắn hơn

Bạn cũng có thể xác định các từ của riêng mình trong một chủ đề nhất định. Ví dụ Developer Ipsum hoặc Cupcake Ipsum

js

const word = [    'Got',    'ability',    'shop',    'recall',    'fruit',    'easy',    'dirty',    'giant',    'shaking',    'ground',    'weather',    'lesson',    'almost',    'square',    'forward',    'bend',    'cold',    'broken',    'distant',    'adjective.']

sao chép mã

Chúng ta cần sử dụng hàm

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
6 mà chúng ta đã tạo ở bước trước để lấy một từ ngẫu nhiên. Trong hàm này, chúng ta cần đưa ra một số tối thiểu và tối đa làm tham số;

js

const word = words[randomNumber(0, words.length - 1)]

sao chép mã

Tham số đầu tiên là 0 vì Mảng bắt đầu bằng 0. Tham số thứ hai là mức tối đa của chúng tôi, vì vậy chúng tôi chọn

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
7. Chúng tôi làm điều này bởi vì, trong ví dụ này, Mảng của chúng tôi có 20 từ trong đó để thuộc tính độ dài sẽ trả lại từ đó. Nhưng vì Mảng bắt đầu đếm từ 0 nên vị trí mới nhất trong Mảng là 19. Đó là lý do tại sao chúng tôi làm
Math.random() * (10 - 0) + 0// Returns 8.448742196214798
8

js

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
2

sao chép mã

Chúng tôi có chức năng thứ hai để lấy một từ ngẫu nhiên từ Array



Lấy một chuỗi có từ ngẫu nhiên

Bây giờ chúng tôi muốn lấy nhiều từ và biến nó thành một chuỗi, vì vậy chúng tôi có thể sử dụng nó làm nội dung cho bất kỳ thứ gì chúng tôi muốn. Điều tốt nhất chúng ta có thể làm là tạo một Mảng với một số vị trí

js

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
3

sao chép mã

Với phương thức 

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
9, chúng ta có thể lặp lại và điền vào đó các từ ngẫu nhiên

js

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
5

sao chép mã

Bây giờ chúng ta có một Mảng các từ ngẫu nhiên, chúng ta cần biến nó thành một chuỗi bằng cách sử dụng 

Math.round(Math.random() * (10 - 0) + 0)// Returns 6 or 5 or 9 or 10
0

js

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
0

sao chép mã

Tuy nhiên, chúng tôi muốn cung cấp cho chuỗi một số "ý nghĩa" về khả năng đọc của nó. Vì vậy, mọi từ đầu tiên trong Mảng phải có chữ cái đầu tiên là chữ hoa. Hãy cập nhật chức năng

Math.round(Math.random() * (10 - 0) + 0)// Returns 6 or 5 or 9 or 10
1 của chúng tôi

js

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
1

sao chép mã

Khi chúng ta tạo một hàm để tạo một hàm để lấy chuỗi đã tạo, nó sẽ trông như thế này. Với sự so sánh trong

Math.round(Math.random() * (10 - 0) + 0)// Returns 6 or 5 or 9 or 10
2, chúng tôi đưa ra một boolean thông qua chức năng

js

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
2

sao chép mã


Hoàn thành

Bây giờ chúng tôi đã tạo tất cả mã, đã đến lúc kiểm tra ví dụ về mã hoàn chỉnh

js

Math.random() * (10 - 0) + 0// Returns 8.448742196214798
3

sao chép mã

Dùng thử trên RunKit


Cảm ơn

Làm cách nào để bạn tạo một từ ngẫu nhiên trong javascript?

Sau khi đọc bài đăng này, tôi hy vọng bạn đã học được điều gì đó mới hoặc được truyền cảm hứng để tạo ra điều gì đó mới. 🤗

Nếu tôi để lại cho bạn câu hỏi hoặc điều gì đó để trả lời, hãy cuộn xuống và nhập tin nhắn cho tôi. Vui lòng gửi cho tôi một DM trên Twitter @DevByRayRay khi bạn muốn giữ nó ở chế độ riêng tư. DM của tôi luôn mở 😁

Làm cách nào để bạn tạo một từ ngẫu nhiên trong javascript?

Ray ray

Tôi là Ray, một Nhà phát triển Frontend từ năm 2009 sống ở Hà Lan. Tôi viết về Phát triển giao diện người dùng, JavaScript, TypeScript, Angular, CSS, VueJS và nhiều chủ đề liên quan khác

Phương thức nào tạo số ngẫu nhiên trong JavaScript?

Định nghĩa và cách sử dụng. Toán. Phương thức random() trả về một số ngẫu nhiên từ 0 (bao gồm) đến nhưng không bao gồm 1 (không bao gồm).

Tôi có thể sử dụng cái gì thay vì ngẫu nhiên toán học trong JavaScript?

Ghi chú. môn Toán. random() không cung cấp các số ngẫu nhiên được bảo mật bằng mật mã. Không sử dụng chúng cho bất cứ điều gì liên quan đến bảo mật. Thay vào đó, hãy sử dụng API Web Crypto và chính xác hơn là cửa sổ. tiền điện tử. phương thức getRandomValues().

Làm cách nào để bạn tạo một số ngẫu nhiên trong JavaScript trong khoảng từ 0 đến 10?

Chúng ta có thể chỉ đơn giản là Toán. phương thức random() để tạo số ngẫu nhiên trong khoảng từ 1 đến 10 trong javascript. môn Toán. random() trả về một số ngẫu nhiên trong khoảng từ 0 (bao gồm) đến 1 (độc quyền)