Fizzbuzz javascript w3schools
Ở đây chúng tôi chuyển tiếp trên toán tử 3 để nói. "nếu 4 là sai, hãy in giá trị lặp lại ( 5)". Thủ thuật hay và tôi đoán tôi cần chơi nhiều hơn với JavaScript để tiếp thu logic nàyBạn có thể xem các ví dụ khác (từ GitHub) sẽ bao gồm từ những thứ như
Không có biến nào ở đây và chỉ cần kiểm tra phép chia cho 15,3 & 5 (cái ở trên của tôi chỉ chia cho 3 & 5, nhưng có một biến phụ, vì vậy tôi đoán nó thuộc về vi điểm cho những người quan tâm hoặc sở thích kiểu dáng) Đến
Tất cả đều trực tuyến, chuyển tiếp thực tế rằng 0 là một giá trị sai, vì vậy bạn có thể sử dụng giá trị đó cho phiên bản rút gọn của 7 ( 8), ngoài thủ thuật 3 mà chúng ta đã thấy trước đâyĐây là phiên bản dễ đọc hơn ở trên, với một số biến
Nói chung, bạn có thể làm điều đó theo nhiều cách khác nhau và tôi hy vọng bạn đã chọn được một số mẹo hay để sử dụng trong JavaScript. ) Nếu bạn là người mới lập trình, FizzBuzz là một nhiệm vụ lập trình cổ điển, thường được sử dụng trong các cuộc phỏng vấn phát triển phần mềm để xác định xem ứng viên có thể viết mã hay không. Đây là nhiệm vụ FizzBuzz cổ điển
Âm thanh đủ dễ dàng, phải không? Vì chúng ta chỉ cần lặp qua từng số từ 01 đến 02, một trong những giải pháp FizzBuzz đơn giản nhất có thể đạt được với vòng lặp 03 3Thật tuyệt vời. Nếu bạn chạy mã này trong bảng điều khiển của mình, bạn sẽ thấy mã này hoạt động tốt. Đây là một đoạn của 16 lần lặp đầu tiên thông qua vòng lặp Có thể có hàng trăm cách khác nhau để giải FizzBuzz. Một số sạch hơn, nhanh hơn và tốt hơn những cái khác. Một số chỉ đơn giản là điên rồ Trong bài viết này, chúng tôi sẽ chia nhỏ những gì dường như là giải pháp ngắn nhất cho FizzBuzz (mà tôi có thể tìm thấy) 0Khá vui phải không?
Thật tuyệt, bây giờ chúng ta đã giải quyết được vấn đề đó, hãy mở bảng điều khiển trình duyệt của bạn. Mac. Lệnh + Tùy chọn + J, Windows. Điều khiển+Shift+J Và sao chép/dán mã. Tôi muốn bạn thấy rằng nó thực sự hoạt động chính xác như đoạn mã khác ở trên — nó giải quyết giải pháp FizzBuzz của chúng tôi. Hoàn hảo Các khái niệm JavaScript bạn cần hiểuMã này sử dụng nhiều khái niệm JavaScript khác nhau để giải FizzBuzz. Trước đây tôi đã viết về tất cả các khái niệm này — vì vậy tôi sẽ đưa ra những giải thích nhỏ trong bài viết này, nhưng vui lòng sử dụng các liên kết này để hiểu thêm nếu có điều gì đó chưa hoàn toàn rõ ràng
Phá vỡ giải phápĐiều đầu tiên chúng ta sẽ làm để hiểu rõ hơn về mã của mình là sắp xếp mọi thứ ra một chút Một lần nữa, đây là những gì chúng ta bắt đầu với 0Và đây là mã tương tự với một số phòng thở được thêm vào 8Vâng. Bây giờ chúng ta có thể bắt đầu xem mã của chúng ta đang cố gắng làm gì. Rõ ràng chúng ta có một vòng lặp 03 bắt đầu từ 07 — 02. Và trong vòng lặp 03 của chúng tôi, chúng tôi đang cố gắng 80 thứ gì đóHãy xem xét kỹ hơn bộ dấu ngoặc đơn đầu tiên của bạn trong ________ 180 của chúng tôi 5Mã này sử dụng toán tử bậc ba. Nhớ lại rằng cú pháp cho một ternary trông như thế này 6Trong ví dụ này, điều kiện mà chúng tôi đang thử nghiệm là 82. Nếu đó là sự thật, thì 83 sẽ được trả lại. Nếu 82 là sai, thì 85 sẽ được trả vềBây giờ chúng ta đã biết điều gì đang xảy ra trước tiên, chúng ta có thể đào sâu vào tình trạng ternary của mình 1Ở trên, toán tử gia tăng đang được sử dụng. Sử dụng toán tử trước toán hạng 86 sẽ tăng toán tử 87 trước khi trả về. Điều này có nghĩa là trong lần đầu tiên chúng ta đi qua vòng lặp, 87 sẽ tăng từ 07 lên 01Bây giờ 87 đã tăng lên thành 01, mã của chúng tôi sẽ kiểm tra xem liệu 53 là đúng hay sai 54 sử dụng toán tử còn lại. Toán tử còn lại trả về phần còn lại của một số chia cho một số khác. Trong trường hợp này, chúng tôi sẽ kiểm tra xem phần còn lại của 55 là bao nhiêuPhần còn lại là 01 và do đó, điều kiện bậc ba của chúng tôi hiện được đơn giản hóa thành 01 4Một điều kiện bậc ba là Ngữ cảnh Boolean. Điều này có nghĩa là bất cứ điều gì chúng tôi đang thử nghiệm phải ép buộc giá trị 58 hoặc 59. Nếu bạn cần lời nhắc về các giá trị trung thực/giả và kiểu ép buộc, hãy xem bài viết này 01 cuối cùng không phải là giá trị giả và do đó buộc phải có giá trị trung thựcChúng tôi hiện có 8Vì chúng tôi có một giá trị thực trong điều kiện bậc ba của chúng tôi, nên biểu thức đầu tiên được trả về và kết quả của bộ dấu ngoặc đơn đầu tiên của chúng tôi là một chuỗi trống. 83Đây là nơi chúng ta đang ở bây giờ 0Thật tuyệt vời Bây giờ chúng ta có thể làm điều tương tự với mã trong bộ dấu ngoặc đơn thứ hai của chúng ta. Mọi thứ đều giống nhau với ba ngoại lệ
Đây là mã trông như thế nào 00Đầu tiên chúng ta kiểm tra xem phần còn lại của 68 là bao nhiêu. Đó là 01. 01 là một giá trị trung thực và do đó, một chuỗi trống 11 lại được trả vềBây giờ chúng tôi đã đánh giá cả hai dấu ngoặc đơn, phương trình của chúng tôi đơn giản hóa đáng kể 01Vì một chuỗi rỗng cộng với một chuỗi rỗng vẫn là một chuỗi rỗng, mã của chúng tôi sẽ giảm hơn nữa 02Bây giờ mã của chúng tôi sử dụng Toán tử logic OR của JavaScript 12. Bởi vì một chuỗi rỗng là một trong bảy giá trị giả trong JavaScript, nên chúng tôi hoàn toàn bỏ qua toán hạng đó và chấp nhận bất kể toán hạng thứ hai là gì. Trong mã này, nó là 87 03Nhớ lại từ đầu rằng 87 chỉ đơn giản là số 01 trong lần lặp này, vì vậy đó là thứ được đăng xuất khỏi bảng điều khiểnNếu bạn nghĩ lại các quy tắc của FizzBuzz, câu trả lời này có ý nghĩa logic và chính xác Thật tuyệt vời. Bây giờ bạn đã lặp lại thành công một trong 100 vòng lặp trong câu trả lời FizzBuzz ngắn nhất Tiến thêm một bước nữaMã của chúng tôi thực thi hơi khác một chút khi 86 chia hết cho cả 64 và 18Hãy xem qua một ví dụ minh họa điều nàyĐây là nơi chúng ta bắt đầu. Xem xét 87 bằng với 40 8Ban đầu, chúng tôi sẽ tăng 87 bởi 01 lên 43. Bây giờ chúng ta sẽ kiểm tra xem phần còn lại của 44 là bao nhiêu 05Vì ba chia thành 15 một số lần bằng nhau, phần còn lại lần này là 07Vì 07 là một trong bảy giá trị giả trong JavaScript, nên bậc ba của chúng ta sẽ trả về 85Bây giờ chúng ta sẽ thêm 85 vào kết quả của bộ dấu ngoặc đơn thứ hai 06 49 cũng có số dư bằng 0. Vì 07 là giả, nên trả về 66Đây là nơi chúng ta đang ở 07Trở thành 08Vì một chuỗi không trống là một giá trị trung thực, hoạt động OR của chúng tôi sẽ rút ngắn mạch và trả về 82 , sau đó sẽ được ghi vào bảng điều khiển 09Và bạn có nó rồi đấy. Bây giờ bạn đã trải qua hai lần lặp lại rất khác nhau của giải pháp FizzBuzz ngắn nhất 0JavaScript không nhất thiết phải đáng sợ. Nếu bạn đã từng chạy qua mã như thế này mà bạn không hiểu, chỉ cần thử chia nó thành các phần nhỏ hơn và nhỏ hơn cho đến khi bạn có thể hiểu được những gì bạn đang xem Đi ra ngoài và viết mã Ghi chú kết thúcCảm ơn đã đọc, và hy vọng điều này hữu ích. Nếu bạn muốn biết thêm mẹo và thực hành về cách vượt qua Cuộc phỏng vấn JavaScript, hãy xem. Làm chủ cuộc phỏng vấn Javascript của bạn — Tìm hiểu thuật toán + cấu trúc dữ liệu. Mặt khác, nếu bạn mới tham gia vào lĩnh vực Phát triển Web và cuối cùng muốn tìm hiểu/hiểu về nó, hãy xem Hướng dẫn Cơ bản để Học Phát triển Web Full Stack trong 6 tháng Tôi xuất bản 4 bài viết về phát triển web mỗi tuần. Vui lòng cân nhắc nhập email của bạn tại đây nếu bạn muốn được thêm vào danh sách email mỗi tuần một lần của tôi hoặc theo dõi tôi trên Twitter |