Hãy tưởng tượng tôi có cấu trúc mảng lồng nhau.Tương đương với underscore.js với toán tử SelectMany của LINQ là gì?
var nested = [ [1], [2], [3] ];
Sử dụng underscore.js, làm cách nào để tạo một mảng phẳng?
Trong C# bạn sẽ sử dụng Enumerable.SelectMany
như thế này:
var flattened = nested.SelectMany(item => item);
Lưu ý rằng lambda trong trường hợp này chọn mục lồng nhau trực tiếp, nhưng nó có thể là bất kỳ biểu hiện độc đoán.
Trong jQuery, nó có thể chỉ cần sử dụng:
var flattened = $.map(nested, function(item) { return item; });
Tuy nhiên phương pháp này không làm việc với chức năng gạch dưới của map.
Vậy làm cách nào để có được mảng phẳng [1, 2, 3]
bằng cách sử dụng underscore.js?
sử dụng _.flatten? – yngccc
bạn cũng có thể viết: _.map (lồng nhau, hàm (mục) {return item [0];}) – Darragh
@Darragh, sẽ hoạt động cho ví dụ cụ thể của tôi, nhưng không phải khi các mảng con chứa nhiều phần tử. –