cuốn sách gpt4 ai đã làm

java — Chọn ngẫu nhiên chữ hoa/chữ thường của tất cả các ký tự chuỗi

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 22:02:33 28 4
mua khóa gpt4 Nike

Tôi biết đó là một yêu cầu kỳ lạ. Nhưng tôi đã tìm kiếm giải pháp cho vấn đề này được một thời gian. Đây là hiệu ứng tôi đang tìm kiếm:

var myString = "Xin chào, tôi được viết hoa ngẫu nhiên"

Kết quả chức năng mong muốn:

xin chào, tôi có đủ năng lực

Tôi đoán điều này được thực hiện tốt nhất bằng cách sử dụng mảng javascript bằng cách này hay cách khác. Chỉ cần tìm kiếm một số ý tưởng. Cảm ơn!

câu trả lời hay nhất

đây là một cách

myString.split('').map(function(c){
return c[Math.round(Math.random())?'toUpperCase':'toLowerCase']();
}).tham gia('');

Nếu cần, bạn có thể thêm nó làm phương thức nguyên mẫu trên đối tượng chuỗi để truy cập dễ dàng hơn:

String.prototype.toRandomCase = function() {
trả về this.split('').map(function(c){
return c[Math.round(Math.random())?'toUpperCase':'toLowerCase']();
}).tham gia('');
}

sau đó vượt qua

访问
console.log(myString.toRandomCase());

Một số giải thích về cách nó hoạt động:

  1. Chuỗi.splitPhương thức dùng để chia một chuỗi thành một mảng các ký tự riêng lẻ.
  2. Mảng.mapchức năng được sử dụng. Hàm này nhận một hàm gọi lại được áp dụng cho từng phần tử trong mảng và trả về một mảng kết quả mới với mỗi giá trị được hàm bản đồ trả về.
  3. chức năng bản đồ bên trong
    1. Math.round(Math.random())cho sự ngẫu nhiên
    2. Sử dụng kết quả của nó với toán tử bậc ba để có được toLowerCasehoặc toUpperCase Math.Round(Math.random())?'toLowerCase':'toUpperCase'
    3. Kết quả của toán tử bậc ba được sử dụng để truy cập thuộc tính hàm liên quan thông qua tham chiếu mảng của ký tự, sau đó được gọi. c[]()
  4. Cuối cùng nó sử dụng Mảng.join bản đồ Hàm phương thức của kết quả được gọi để nối mảng kết quả trở lại thành một chuỗi.

Mã Golf (hiệu quả)

Câu trả lời của RobG có giá trị hơn của tôi (vui lòng đồng ý câu trả lời của anh ấy)

String.prototype.toRandomCase = function() {
trả về this.toLowerCase().split('').map(function(c){
return Math.random() < .5? c : c.toUpperCase();
}).tham gia('');
}

Nếu có ai có đề xuất cải tiến hơn nữa - vui lòng bình luận hoặc chỉnh sửa phần này của câu trả lời

Về javascript - Chọn ngẫu nhiên chữ hoa/chữ thường của tất cả các ký tự chuỗi, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/27596270/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress