Nhiều lập trình viên thích ngôn ngữ lập trình Ruby vì thư viện tiện ích chuẩn phong phú. Ví dụ, mảng trong Ruby có rất nhiều phương thức JavaScript từng bước cũng làm phong phú thêm thư viện chuẩn của nó về chuỗi và mảng. Ví dụ trong một bài viết trước tôi đã mô tả mảng mới. phương thức at() Người hùng của ngày hôm nay là đề xuất nhóm mảng mới (hiện đang ở giai đoạn 3) giới thiệu các phương pháp mới javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
8 và javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
9. Chúng có sẵn trong thư viện javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
0Hãy xem bạn có thể hưởng lợi như thế nào từ các phương pháp nhóm 1. mảng. nhómBy()Bạn có một danh sách các sản phẩm, trong đó mỗi sản phẩm là một đối tượng có 2 thuộc tính. javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
1 và javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
0javascript const products = [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, { name: 'potatoes', category: 'vegetables' } ];
Trong ví dụ trên, javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
1 là một mảng các đối tượng sản phẩmBây giờ bạn phải thực hiện một thao tác đơn giản với danh sách sản phẩm — nhóm sản phẩm theo danh mục javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
Làm cách nào bạn có được một mảng như javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
2 từ mảng javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ]
}; 1?Cách thông thường là gọi phương thức javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
4 với chức năng gọi lại bên phảijavascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
Hãy thử bản trình diễn javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
5 giảm mảng javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
1 thành một đối tượng gồm các sản phẩm được nhóm theo danh mụcMặc dù tôi coi phương pháp javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
4 hữu ích và mạnh mẽ, nhưng đôi khi khả năng đọc của nó không phải là tốt nhấtBởi vì nhóm dữ liệu là một nhiệm vụ thường xảy ra (nhớ lại javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
8 từ SQL?), đề xuất nhóm mảng giới thiệu hai phương pháp hữu ích. javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
8 và javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
9Đây là cách bạn sẽ sử dụng javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' }
] }; 8 để tạo cùng một nhóm theo danh mụcjavascript const products = [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, { name: 'potatoes', category: 'vegetables' } ];
2Hãy thử bản trình diễn javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
2 trả về một đối tượng trong đó mỗi thuộc tính có khóa là tên danh mục và giá trị dưới dạng một mảng với các sản phẩm từ danh mục tương ứngNhóm sử dụng javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
3 cần ít mã hơn và dễ hiểu hơn so với sử dụng javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
4javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
5 chấp nhận chức năng gọi lại được gọi với 3 đối số. mục mảng hiện tại, chỉ mục và chính mảng đó. javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
6 sẽ trả về một chuỗi. tên nhóm nơi bạn muốn thêm mụcjavascript const products = [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, { name: 'potatoes', category: 'vegetables' } ];
82. mảng. nhómByToMap()Đôi khi bạn có thể muốn sử dụng một javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
7 thay vì một đối tượng đơn giản. Lợi ích của javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
7 là nó chấp nhận bất kỳ loại dữ liệu nào làm khóa, nhưng đối tượng đơn giản chỉ giới hạn ở chuỗi và ký hiệuVì vậy, nếu bạn muốn nhóm dữ liệu vào một javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
7, bạn có thể sử dụng phương pháp javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
9javascript const products = [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, { name: 'potatoes', category: 'vegetables' } ];
21 hoạt động chính xác như javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
5, chỉ khác là nó nhóm các mục thành một javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
7 thay vì một đối tượng JavaScript đơn giảnVí dụ: nhóm mảng sản phẩm thành bản đồ theo tên danh mục được thực hiện như sau javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
5Hãy thử bản trình diễn 3. Phần kết luậnNếu bạn muốn dễ dàng nhóm các phần tử của một mảng (tương tự như javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
8 trong SQL), thì hãy chào đón các phương thức mới javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
8 và javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
9Cả hai hàm đều chấp nhận một cuộc gọi lại sẽ trả về khóa của nhóm nơi các mục hiện tại phải được chèn vào javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
8 nhóm các mục thành một đối tượng JavaScript đơn giản, trong khi javascript const groupByCategory = { 'fruits': [ { name: 'apples', category: 'fruits' }, { name: 'oranges', category: 'fruits' }, ], 'vegetables': [ { name: 'potatoes', category: 'vegetables' } ] };
9 nhóm chúng thành một thể hiện javascript const groupByCategory = products.reduce((group, product) => { const { category } = product; group[category] = group[category] ?? []; group[category].push(product); return group; }, {}); console.log(groupByCategory); // { // 'fruits': [ // { name: 'apples', category: 'fruits' }, // { name: 'oranges', category: 'fruits' }, // ], // 'vegetables': [ // { name: 'potatoes', category: 'vegetables' } // ] // }
7Nếu bạn muốn sử dụng ngay các chức năng này thì hãy sử dụng thư viện core-js do core-js cung cấp Thích bài viết? đề xuất cải tiến Bài đăng chất lượng vào hộp thư đến của bạnTôi thường xuyên xuất bản bài viết có chứa - Các khái niệm JavaScript quan trọng được giải thích bằng các từ đơn giản
- Tổng quan về các tính năng JavaScript mới
- Cách sử dụng TypeScript và cách gõ
- Thiết kế phần mềm và thực hành mã hóa tốt
Đăng ký nhận bản tin của tôi để nhận chúng ngay trong hộp thư đến của bạn Đặt muaTham gia cùng 6845 người đăng ký khác Giới thiệu về Dmitri PavlutinNhà văn và huấn luyện viên công nghệ. Thói quen hàng ngày của tôi bao gồm (nhưng không giới hạn) uống cà phê, viết mã, viết, huấn luyện, vượt qua sự nhàm chán 😉
Làm cách nào để nhóm bằng cách sử dụng giảm trong JavaScript?
reduce((acc, currentValue) => { let groupKey = currentValue[key]; if (. acc[groupKey]) { acc[groupKey] = []; . push(currentValue); . And that is all we need to do to implement our own groupBy function.
Làm cách nào để sử dụng groupBy trong JavaScript?
Làm cách nào để tạo một nhóm trong JavaScript?
Nhóm bảng điều khiển() . Ví dụ. Tạo một nhóm tin nhắn trong bảng điều khiển. bảng điều khiển. log("Xin chào thế giới. " ); bảng điều khiển. nhóm(); . . Kết thúc một nhóm với bảng điều khiển. nhómEnd(). bảng điều khiển. log("Xin chào thế giới. " ); bảng điều khiển. nhóm(); . . Chỉ định nhãn cho nhóm. bảng điều khiển. log("Xin chào thế giới. " ); bảng điều khiển. nhóm("MyLabel");
Giảm được sử dụng để làm gì trong JavaScript?
reduce() trong JavaScript được sử dụng để giảm mảng thành một giá trị duy nhất và thực thi một hàm được cung cấp cho từng giá trị của mảng . cú pháp. mảng. giảm (hàm (tổng, giá trị hiện tại, chỉ số hiện tại, mảng), giá trị ban đầu) |