目前我有三个阵列。 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
有人会说,这不是一个代码市场,请显示你的尝试。 –