【问题标题】:Combine 2 Array into a new string将 2 个数组组合成一个新字符串
【发布时间】:2020-11-27 12:39:54
【问题描述】:

我有 2 个 Javascript 数组

var array1 = ["Mergen Morry","Dash Borad","Mergen Xss"];
var array2 = ["02111356","4458763","02111356"];

我希望输出是这样的

Mergen Morry – 02111356 : data uploaded
Dash Borad - 4458763 : data uploaded
Mergen Xss – 02111356 : id already registered

我正在考虑使用 join(),但我记得这是 2 个数组,使用 concat() 是不可能的,也许正在考虑使用 map() 或 forEach(),但我仍然不明白如何。

编辑:对不起,输出应该是字符串而不是数组。

【问题讨论】:

  • 输出应该是什么?字符串数组?
  • 应该一次返回所有数据还是一个一个返回?
  • 应该是字符串列表。不是数组,是的 sycn 所以应该是一次所有数据。

标签: javascript arrays array-merge


【解决方案1】:

您可以获取一个对象以保持可见 id 并返回适当的 cmets 用于映射字符串。

const
    names = ["Mergen Morry", "Dash Borad", "Mergen Xss"],
    ids = ["02111356", "4458763", "02111356"],
    result = names.map(
        (seen => (s, i) => `${s} - ${ids[i]} : ${ seen[ids[i]]
            ? 'id already registered'
            : (seen[ids[i]] = true, 'data uploaded') }`)
        ({})
    ).join('\n');

console.log(result);

【讨论】:

  • 它应该显示字符串 nina 的列表,感谢您的回答,问题是要求我显示基于它的列表。
【解决方案2】:

@Nina Scholz 的回答非常好,这是另一种方式,您可以使用包含所有内容的 json。

var array1 = ["Mergen Morry","Dash Borad","Mergen Xss"];
var array2 = ["02111356","4458763","02111356"];

var res = array1.map((item,index)=>{
 return {name:item,id:array2[index]}
},[]);
// Now that you have an array with Id and namne, you could loop throw each array and display the data


console.log(res)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 2021-04-15
    • 2016-07-28
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 2013-12-25
    相关资源
    最近更新 更多