我正在寻找一种简单的方法(可以使用jQuery)来组合两个字符串数组:
var a = ["a", "s", "d"];
var b = ["q", "w", "e"];
生产:
var c = ["a q", "s w", "d e"];
答案 0 :(得分:2)
a.map((e, i) => e + ' ' + b[i])
Tushar说得对,可能是最好最有效的方法
答案 1 :(得分:1)
试试这个(检查控制台中的输出):
var a = ["a", "s", "d"]; //add or remove items
var b = ["q", "w", "e"]; //add or remove items
if(a.length>b.length) {
var biggest = a.slice();
var smallest = b.slice();
} else {
var biggest = b.slice();
var smallest = a.slice();
}
var c = biggest.map(function(num, i) {
if(i < smallest.length) return num + " " + smallest[i];
return num;
});
console.log(c);
//CHECK OUTPUT IN CONSOLE
这允许阵列大小不同,并且仍然产生相同的结果。否则,只需a
上的地图执行b
这是Live Demo。
答案 2 :(得分:0)
var a = ["a", "s", "d"];
var b = ["q", "w", "e"];
var c = a.map(function(item, i) {
return item + ' ' + b[i]
})
var c = a.reduce(function(prev, item, i) {
return prev.concat(item + ' ' + b[i])
}, [])
无论你喜欢什么。如果您处于ES2015友好世界,那么使用箭头功能可以让它更好:
// map
var c = a.map((item, i) => item + ' ' + b[i])
// reduce
var c = a.reduce((prev, item, i) => prev.concat(item + ' ' + b[i]), [])
答案 3 :(得分:0)
如果var a = ["a", "s", "d"];
var b = ["q", "w", "e"];
var c = [];
for (var i=0;i<a.length; i++) {
val = a[i] + " " + b[i];
c.push(val)
}
console.log(c)
的数组长度相等,那么你可以试试这个。
var obj = {
array1: [
{
"elm": 1, children: [
{
"elm": 2, children: [
{
"elm": 3, children: [
{
"elm": 4, children: [
{"elm": 5}
]
}
]
}
]
}
]
}
],
array2: [
{
"elm": 6, children: [
{
"elm": 7, children: [
{
"elm": 8, children: [
{
"elm": 9, children: [
{"elm": 10}
]
}
]
}
]
}
]
}
]
};