在最终的单个数组中使用定界符合并多个相同长度的不同数组值?

时间:2019-03-28 15:57:08

标签: javascript jquery arrays

我有3个长度相同的不同数组

var title = ['title 1','title 2','title 3'];    
var description = ['description 1','description 2','description 3'];    
var link = ['link 1','link 2','link 3'];

如何使用管道|-分隔符将所有数组值合并到单个数组中?

结果:

final_arr = [
  'title 1|description 1|link 1',
  'title 2|description 2|link 2',
  'title 3|description 3|link '
]

4 个答案:

答案 0 :(得分:2)

尝试

title.map((x,i) => `${x}|${description[i]}|${link[i]}`);

我们在这里使用标准js'工具',并提供完善的文档:arrow functionmaptemplate literals,并且每个数组具有相同数量的元素的事实

var title = ['title 1','title 2','title 3'];

var description = ['description 1','description 2','description 3'];

var link = ['link 1','link 2','link 3'];

var r = title.map((x,i) => `${x}|${description[i]}|${link[i]}`);

console.log(r);

答案 1 :(得分:1)

听起来像是课堂作业...:)

 var A=[];

 for(var i=0; i<title.length; i++){

 A.push(title[i]+'|'+description[i]+'|'+link[i]);

 }

这是您的老师不能拒绝的一个很好的基本解决方案!

答案 2 :(得分:0)

使用Array#map。根据索引匹配

var title = ['title 1','title 2','title 3'];
var description = ['description 1','description 2','description 3'];
var link = ['link 1','link 2','link 3'];

var res= title.map((a,b)=> a+'|'+description[b]+'|'+link[b]);
console.log(res)

Array#ForEach

var title = ['title 1','title 2','title 3'];
var description = ['description 1','description 2','description 3'];
var link = ['link 1','link 2','link 3'];

var res =[];
title.forEach((a,b)=> res.push(a+'|'+description[b]+'|'+link[b]));
console.log(res)

答案 3 :(得分:0)

您可以减少数组。

df1 <- structure(list(id = 1:3, first = c("Carol", "Sarah", "Josh"), 
middle = c("Jenny", "Carol", "David"), last = c("Smith", 
"Roberts", "Richardson"), Age = c(15L, 20L, 22L)),
  class = "data.frame", row.names = c(NA, 
 -3L))

相关问题