Im sử dụng Node.js. (... và underscore.js)Kết hợp các mảng với các giá trị chồng chéo
Xem xét cấu trúc dữ liệu này
var numbers = [
[10, 20]
[30, 40]
[40, 50]
[45, 70]
... //Possibly more arrays (always contains two numbers)
]
numbers
chứa mảng đó luôn chứa các cặp số. Hãy nghĩ về các cặp số này là "bắt đầu" và "kết thúc". Tôi muốn một hàm lấy numbers
làm đối số và vòng lặp máng nội dung của nó và nếu số "bắt đầu" của một cặp chồng lên số "cuối" của cặp trước đó, các mảng này được hợp nhất thành một. Ví dụ này:
var numbers = [
[10, 20]
[19, 40]
[40, 60]
[70, 80]
]
trở thành này:
var numbers = [
[10, 60] // First, second and third array is merged because of overlapping .
[70, 80]
]
Thực ra, tôi đã có viết một chức năng cho điều này mà hoạt động tốt, nhưng cảm thấy một chút thời gian.
Tôi rất tò mò nếu một số thuật sĩ javascript có thể làm mê hoặc tôi bằng giải pháp siêu thanh lịch =).
Thay vào đó, bạn có thể hiển thị cách triển khai của riêng mình và sau đó chúng tôi có thể chỉ cho bạn cách cải thiện. Trong trường hợp này, [Code Review] (http://codereview.stackexchange.com/) sẽ là một nơi tốt hơn để đăng bài này. – Brett
Aah ... Tôi không biết về Code Review. Cảm ơn đã nói với tôi! –
Về đăng giải pháp của riêng tôi ... Trên thực tế, những gì tôi muốn - như một lập trình viên khá tươi - là bằng chứng cho thấy nó ok để giải quyết vấn đề mã trong nhiều cách khác nhau. Nhiều lần tôi thấy mình suy nghĩ về giải pháp ABSOLUTE, mặc dù tôi bằng cách nào đó cũng tin rằng có vô số cách mà đều tốt như nhau. Bằng cách không đăng giải pháp của riêng tôi, tôi có thể được trình bày cho một số giải pháp tốt khác nhau không thiên vị của riêng tôi. –