Я ищу простой способ (может быть с JQuery), чтобы объединить две строки массива:объединить две строки массива в JavaScript
var a = ["a", "s", "d"];
var b = ["q", "w", "e"];
производить:
var c = ["a q", "s w", "d e"];
Я ищу простой способ (может быть с JQuery), чтобы объединить две строки массива:объединить две строки массива в JavaScript
var a = ["a", "s", "d"];
var b = ["q", "w", "e"];
производить:
var c = ["a q", "s w", "d e"];
a.map((e, i) => e + ' ' + b[i])
Tushar получил это право, и, вероятно, самый лучший и самый эффективный способ
Вы либо использовать Array.prototype.map :
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]), [])
'a.map ((e, i) => e + '' + b [i])' – Tushar
Попробуйте это (проверьте вывод в консоли):
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
do the conditional on b
Адрес Live Demo.
Если длина массива равна a and b
, вы можете попробовать это.
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)
и что вы пробовали? –
И вы не пробовали ['map()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) – Tushar
- это массивы, всегда равные длина? – supersan