Tôi đang xử lý một luồng công việc khá phức tạp mà tôi muốn đại diện như một cấu trúc dữ liệu JavaScript. Luồng chủ yếu là một tập hợp các câu hỏi và câu trả lời trong đó câu trả lời cho một câu hỏi ảnh hưởng đến câu hỏi nào được hỏi tiếp theo. Sau đây là một ví dụ cơ bản của những gì các dòng chảy có thể trông giống như:Tôi sẽ trình bày quy trình làm việc này như một cấu trúc dữ liệu JavaScript như thế nào?
Tôi không chắc chắn làm thế nào để chuyển đổi dòng này thành một đối tượng JavaScript đó là dễ dàng để làm việc với. Tôi lý tưởng muốn có một cấu trúc dễ dàng lặp lại/recurse và điều đó có thể dễ dàng sửa đổi, để nếu ai đó muốn thay đổi luồng sau này, họ có thể làm như vậy mà không phải thực hiện quá nhiều thay đổi.
Tôi cảm thấy đây là một loại cấu trúc cây kỳ lạ nơi các nút có thể có nhiều hơn một phụ huynh. (Tôi không chắc cấu trúc dữ liệu như thế này được gọi là gì.)
Dù sao, ý tưởng duy nhất tôi có là gán một ID cho mỗi nút và sau đó tạo một mảng các đối tượng nút như sau:
{
id: 5,
parents: [2, 3],
children: [6, 7, 8]
}
Tuy nhiên, điều đó dường như không linh hoạt khi nói đến lặp qua các đối tượng nút (tôi có thể sai).
Nếu bất kỳ ai có thể vui lòng cung cấp một số hướng dẫn/hướng dẫn về loại cấu trúc dữ liệu nào tôi nên xem xét và có thể cách triển khai chúng trong JavaScript, tôi sẽ đánh giá rất cao.
Cảm ơn bạn rất nhiều trước.
Điều này trông giống như một đồ thị hoặc đồ thị được hướng dẫn. – glomad
Cảm ơn bạn, ithcy. Tôi sẽ xem xét cả hai và báo cáo lại. – HartleySan
Điều này có thể đáng để xem xét: http://stackoverflow.com/a/6894080/2282538 – Tyler