ví dụTrả về một mảng mới với căn bậc hai của tất cả các giá trị phần tử Show
const số = [4, 9, 16, 25]; Nhân tất cả các giá trị trong một mảng với 10 const số = [65, 44, 12, 4]; function myFunction(num) { Thêm ví dụ bên dưới Định nghĩa và cách sử dụng
cú phápmảng. map(function(currentValue, index, arr), thisValue) Thông sốHàm mô tả tham số() Bắt buộc.Một hàm được chạy cho từng phần tử mảng. giá trị hiện tạibắt buộc. Giá trị của phần tử hiện tại. chỉ mụcTùy chọn. Chỉ mục của phần tử hiện tại. mảngTùy chọn. Mảng của phần tử hiện tại. giá trị nàyTùy chọn. Giá trị mặc định undefined . Một giá trị được truyền cho hàm để sử dụng làm giá trị this của nó. Giá trị trả vềTypeDescriptionMột mảngKết quả của một hàm cho từng phần tử mảngThêm ví dụLấy tên đầy đủ cho mỗi người const people = [ người. bản đồ (getFullName); function getFullName(item) { Hỗ trợ trình duyệt
ES5 (JavaScript 2009) được hỗ trợ đầy đủ trên mọi trình duyệt ChromeEdgeFirefoxSafariOperaIECóCóCóCóCó9-11Vấn đề này xuất phát từ LeetCode. Không thiếu các vấn đề thực hành ngoài kia, nhưng LeetCode là một trong những nền tảng phổ biến nhất để trau dồi kỹ năng thiết kế thuật toán của bạn. Với các vấn đề thực tế, giải pháp và cơ sở người dùng lành mạnh để thảo luận về các vấn đề, LeetCode là một nguồn tài nguyên tuyệt vời Giải pháp vấn đềMấu chốt của vấn đề này là ánh xạ các ký tự theo tần suất xuất hiện của chúng trong chuỗi. Bất cứ khi nào bạn gặp phải vấn đề trong đó từ “tần suất” được sử dụng, rất có thể bản đồ sẽ là công cụ phù hợp cho công việc Sau khi tất cả các ký tự được ánh xạ, chúng ta cần ngoại suy các ký tự riêng lẻ thành các chuỗi chứa ký tự được lặp lại với số lần thích hợp. Sau đó, chúng ta có thể sắp xếp các chuỗi đó và nối chúng thành một chuỗi cuối cùng Hãy chia logic thành các phần nhỏ hơn, dễ hiểu hơn Đếm ký tựLưu đồ minh họa logic đếm ký tựThay vì cố gắng nhóm và sắp xếp các ký tự này tại chỗ một cách không hiệu quả, thay vào đó, việc đếm tần suất ký tự và sau đó tạo các nhóm ký tự mà chúng ta muốn xem sau sẽ dễ dàng hơn nhiều. Cấu trúc dữ liệu bản đồ đặc biệt hữu ích ở đây vì nó được triển khai theo cách cho phép chúng ta tra cứu thời gian liên tục (i. e. Vì vậy, chúng tôi có thể lặp lại các ký tự của mình và kiểm tra xem chúng đã tồn tại trong bản đồ của chúng tôi chưa. Nếu đúng như vậy, chúng tôi sẽ tăng số lần kiểm đếm cho ký tự đó lên 1 và nếu không, chúng tôi sẽ thêm ký tự đó vào bản đồ với giá trị kiểm đếm ban đầu là 1 Ngoại suy và Sắp xếpLưu đồ minh họa logic của phép ngoại suy và sắp xếp ký tựNgoại suy ký tự thành một chuỗi bao gồm ký tự được lặp lại theo tần số của nó có thể là phần riêng của nó trong thuật toán này, nhưng hầu hết các ngôn ngữ lập trình trưởng thành đều có cách khai báo tích hợp sẵn để thực hiện việc này. Trong JavaScript, chúng ta có thể sử dụng Với logic ngoại suy đã được xử lý, logic của chúng ta như sau. lặp qua bản đồ, ngoại suy ký tự và đẩy chuỗi ngoại suy đó vào cấu trúc dữ liệu có thể sắp xếp, sau đó sắp xếp. Chìa khóa ở đây là sử dụng cấu trúc dữ liệu dễ sắp xếp. Trong JavaScript, các mảng có một phương thức gốc tham giaLưu đồ minh họa logic của việc nối các ký tự ngoại suySau khi chúng tôi đã sắp xếp các chuỗi của mình, chúng tôi chỉ cần nối chúng lại với nhau thành chuỗi kết quả cuối cùng của chúng tôi. Một lần nữa, JavaScript có một phương thức nguyên mẫu khai báo có tên là Triển khai JavaScriptBây giờ chúng ta đã có mô hình tinh thần và thuật toán của mình, việc dịch nó thành mã là khá đơn giản. Hãy xem triển khai JavaScript Như bạn có thể thấy, logic ánh xạ được triển khai trên các dòng từ 2 đến 7. Chúng tôi tạo một đối tượng trống để hoạt động như bản đồ của mình, sử dụng vòng lặp Phép ngoại suy ký tự xảy ra trên các dòng từ 9 đến 14. Bạn sẽ nhận thấy rằng chúng tôi sử dụng vòng lặp Cuối cùng, chúng tôi sử dụng Hiệu quảMột thuật toán chỉ tốt khi hiệu quả của nó. Một thuật toán không hiệu quả chắc chắn tốt hơn là không có gì trong một cuộc phỏng vấn, nhưng thông thường, cách tiếp cận “vũ phu” sẽ không hiệu quả. Vì vậy, điều quan trọng là phải hiểu cách tính toán hiệu quả của thuật toán của bạn và cách truyền đạt thông tin đó cho người khác Hiệu quả của thuật toán thường được mô tả bằng Ký hiệu Big O và được sử dụng để xác định cả độ phức tạp thời gian và độ phức tạp không gian Thời gian phức tạpĐối với bài toán của chúng ta, ánh xạ là tuyến tính (i. e. Độ phức tạp không gianVốn dĩ, phép ánh xạ chiếm không gian tuyến tính (i. e. Phần kết luậnCác vấn đề về thuật toán là về việc nhận ra khi nào nên sử dụng các mẫu logic cụ thể. Để làm như vậy, bạn cần làm quen với các mẫu và sự kết hợp khác nhau của các mẫu ngoài kia Ánh xạ các ký tự theo tần suất xuất hiện của chúng là một mẫu phổ biến mà bạn nên làm quen với. Khi bạn hiểu đầy đủ chiến lược và hiệu quả đằng sau nó, bạn sẽ bắt đầu nhận ra các lĩnh vực khác mà nó có thể được sử dụng đúng cách Michael StrombergMichael có nền tảng đa dạng về công nghệ phần mềm, kỹ thuật cơ khí, kinh tế và quản lý. Sau một sự nghiệp thành công trong lĩnh vực kỹ thuật cơ khí, Michael quyết định trở thành một kỹ sư phần mềm và tham dự trại huấn luyện lập trình Hack Reactor. Michael thích viết về kinh nghiệm của mình và giúp đỡ những người khác bắt đầu hành trình phát triển phần mềm của họ Làm cách nào để tạo bản đồ tần suất trong JavaScript?hàm trùng lặp (mảng) { let map = {}; . forEach((giá trị, chỉ mục) => { if (. map[value]) { map[value] = 0; .
Làm cách nào để tìm tần suất của chuỗi trong JavaScript?tần suất của các ký tự trong chuỗi sử dụng đối tượng . let str = "inthenameoftheorganisation"; cho obj = {}; for(let i=0;i
if(obj[str[i]]==không xác định) obj[str[i]]=1; obj[str[i]]+=1; nhật ký (đối tượng); map() trả về cái gì trong JavaScript?Trả về giá trị
. A new array with each element being the result of the callback function.
Tôi có thể tạo bản đồ bằng JavaScript không?Bạn có thể tạo Bản đồ JavaScript bằng cách. Truyền một mảng cho Map() mới Tạo Map và sử dụng Map. bộ() |