目前我有三個陣列。 AppNames
這是一個應用程序名稱。 Number of AddOns
這是每個應用程序正在使用的附加項的數量。 (這兩個陣列一起使用,E.G 「cirr-contentful-demo」在上有1個添加)。通過多個陣列循環 - 推入多個陣列
看下面:
var prodArrayAppName = [],
stgArrayAppName = [],
devArrayAppName = [],
prodNoAddOns = [],
stgNoAddOns = [],
devNoAddOns = [];
var appNames = ["cirr-contentful-demo", "cirr-contentful-handler-backup", "cirr-test-app"];
var numberAddOne = [1, 5, 7]
var production = [{
"id": "16",
"heroku_application": "cirr-contentful-demo",
"stage": "Production"
},
{
"id": "4",
"heroku_application": "cirr-contentful-handler-backup",
"stage": "Staging"
},
{
"id": "9",
"heroku_application": "test-backup",
"stage": "Development"
}];
我需要通過production
對象數組是循環中,appNames
數組中匹配heroku_application
名稱爲名。一旦發現檢查階段類型示例:生產,分期,開發。
將應用程序名稱推送到正確的數組。 E.G生產應用到prodArrayAppName
。然後獲取應用程序所具有的addOns的數量,並將其放入正確的NoOfAddons
。 E.G prodArrayAppName。
含義結束比賽應該是這樣的:
prodArrayAppName = [cirr-contentful-demo]
prodNoAddOns = [1]
stgArrayAppName = [cirr-contentful-handler-backu]
stgNoAddOns = [5]
devArrayAppName = [test-backup]
devNoAddOns = [7]
這是到目前爲止,我已經嘗試了代碼,但至今沒有得到任何運氣:
production.forEach(function(a) {
appNames.forEach(function(b) {
numberAddOne.forEach(function(c) {
if (a === b.heroku_application) {
if (b.stage === "Production") {
prodArrayAppName.push(b.heroku_application);
prodNoAddOns.push(c);
} else if (b.stage === "Staging") {
stgArrayAppName.push(b.heroku_application);
stgNoAddOns.push(c);
} else {
devArrayAppName.push(b.heroku_application);
devNoAddOns.push(c);
}
}
});
});
});
什麼是你的問題給出的代碼? –
我想我的問題是「如何循環多個數組並推入其他數組」,對於措辭不佳的問題,抱歉。我試圖通過展示最終目標應該是什麼樣子來表達我的意思? – user3180997
有人會說,這不是一個代碼市場,請顯示你的嘗試。 –