首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将两个数组字符串放在一起

将两个数组字符串放在一起
EN

Stack Overflow用户
提问于 2021-08-20 07:34:32
回答 2查看 74关注 0票数 1
代码语言:javascript
复制
const template = {
      example: {
          simple: ['Hey', 'Origami'],
          extra: ['Its me', 'Dotcom']
      }
}

我想将template.example.simple和template.example.extra的每个元素连接在一起。

因此,结果将是:

['Hey', 'Origami', 'Hey Its me', 'Hey Dotcom', 'Origami Its me', 'Origami Dotcom']

为了做到这一点,我现在要做的是:

代码语言:javascript
复制
const template = {
      example: {
          simple: ['Hey', 'Origami'],
          extra: ['Its me', 'Dotcom']
      }
}
const example = template.example.simple;

template.example.simple.forEach((s) => {
     let extra = s;
     template.example.extra.forEach((a) => {
         extra += ` ${a}`;
         example.push(extra);
         extra = s;
     });
});

console.log(example);
//example = ['Hey', 'Origami', 'Hey Its me', 'Hey Dotcom', 'Origami Its me', 'Origami Dotcom']

所以我的问题是,如果有一个更简单的方法来实现这一点,你将如何改进这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-20 08:06:42

简单是一个相对的术语。我不认为这个方法更简单/更容易阅读,但是为了给出替代方案,这个衬垫应该能做到这一点。它使用map从simple中选择原始值,并使用一个额外的映射将simpleextra组合在一起(以及扩展运算符...将它们压平)

代码语言:javascript
复制
const template = {
      example: {
          simple: ['Hey', 'Origami'],
          extra: ['Its me', 'Dotcom']
      }
};

const example = Array.prototype.concat(...template.example.simple.map(p=>[p,...template.example.extra.map(e=>p + ' ' + e)]));

console.log(example);

票数 1
EN

Stack Overflow用户

发布于 2021-08-20 07:44:05

您可以使用Array.prototype.concat()将两个列表合并为一个。

在您的代码中,它应该类似于:

代码语言:javascript
复制
const newValues = template.example.simple.concat(template.example.extra);

这里您可以找到文档和不同的使用示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68858503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档