javascript - 将公司和联系人数组组合成由第三个数组排序的单个结果
问题描述
我正在尝试创建一个result
由公司和联系人条目组成的组合数组。
结果数组应该有一个公司条目,后跟他们各自的联系人条目数,如amount
数组所示。
这是我已经尝试过的:
var company = [company1,company2,company3]
var contacts = [contact1,contact2,contact3,contact4,contact5,contact6]
var amount = [2,1,3]
var result = []
for (let i = 0; i < company.length; i++) {
result.push(company[i])
for (let x = 0; x < amount[i]; x++) {
result.push(contacts[x])
}
}
output = [{result}]
我的预期输出是:
result = [company1,contact1,contact2,company2,contact3,company3,contact4,contact5,contact6]
如果我可以在每个公司内部创建一个数组会很棒。
解决方案
您的代码非常接近。
在处理当前公司的联系人时,您只需考虑已经推送到结果数组中的联系人,而不是每次都从列表的开头开始。
var company = ['company1','company2','company3'];
var contacts = ['contact1','contact2','contact3','contact4','contact5','contact6'];
var amount = [2,1,3];
var result = [];
let c = 0;
for (let i = 0; i < company.length; i++) {
result.push(company[i]);
for (let j = 0; j < amount[i]; j++) {
result.push(contacts[c]);
c++;
}
}
console.log(result);
推荐阅读
- avr - AVR 倒数计时器
- azure-machine-learning-studio - Azure ML Studio 错误 0035:词汇表的功能为空
- php - 在网络服务器上创建的 laravel 符号链接仍然无法在没有 app/public 的情况下访问文件
- scala - fs2.Stream[IO,Something] 不返回 take(1)
- python - 当 stdout 和 stderror 是文件处理程序时,为什么子进程继续存在?
- ios - AudioKit 麦克风在首次运行时未初始化
- excel - 在不删除自动过滤器的情况下查找过滤列中最后填充的行
- python - 如何标记句子和单词中的大文本
- objective-c - Objective-C:如何动态定义静态 const 结构?
- c# - MongoDB C# - 未处理的 mongo 表达式类型:'管道