我遇到了在那裏我試圖加入類似下面的那些兩個數組的一個問題:有效地加入兩個集合?
var participants = [
{id: 1, name: "abe"},
{id:2, name:"joe"}
];
var results = [
[
{question: 6, participantId: 1, answer:"test1"},
{question: 6, participantId: 2, answer:"test2"}
],
[
{question: 7, participantId: 1, answer:"test1"},
{question: 7, participantId: 2, answer:"test2"}
]
];
使用嵌套循環:
_.each(participants, function(participant) {
var row, rowIndex;
row = [];
var rowIndex = 2
return _.each(results, function(result) {
return _.each(result, function(subResult) {
var data;
data = _.find(subResult, function(part) {
return part.participantId === participant.id;
});
row[rowIndex] = data.answer;
return rowIndex++;
});
});
});
這隻要陣列小工程確定,但是一旦它們變大,我就會遇到巨大的性能問題。以這種方式組合兩個數組有沒有更快的方法?
這是我的真實數據集/代碼的瘦身版本。請讓我知道是否有任何意義。
FYI
我的最終目標是創建行的集合包含他們的回答每一個參與者。喜歡的東西:
[
["abe","test1","test1"],
["joe","test2","test2"]
]
是的,我繼續添加它。 –
標籤離開,這是非常強調 –
@AbeMiessler可以安全地說,參與者集合是一個更小的數據陣列?或者是相反的? –