我有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 '
]
答案 0 :(得分:2)
尝试
title.map((x,i) => `${x}|${description[i]}|${link[i]}`);
我们在这里使用标准js'工具',并提供完善的文档:arrow function,map和template 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))