Есть массив, вывожу из него только нужные мне значения следующим кодом:
for (var i = 0; i < arrUs.length; i++) {
console.log(arrUs[i][1]);
}
//результат: one . two . three
Как на выходе получить строку: one;two;three ?
Пробовал так:
var str;
for (var i = 0; i < arrUs.length; i++) {
console.log(arrUs[i][1]);
str = arrUs[i][1].join(';');
}
Но не получается. Что я делаю не так?
var numbers = ["one", "two", "three"];
var numbers_string = numbers.join(';');
console.log(numbers_string);
https://jsfiddle.net/z5ccj5ex/23/
join нужно применять на массиве, а не на конкретном элементе массива. А даже если бы он сработал, то вы всё равно на каждой итерации затираете предыдущее значение str.
Что можно сделать для двумерного массива:
mapjoinПример:
var arrUs = [["1", "one"], ["2", "two"], ["3", "three"]];
var result = arrUs.map(function(value) { return value[1]; }).join(";");
console.log(result);
И то же самое с использованием lambda-функции:
var arrUs = [["1", "one"], ["2", "two"], ["3", "three"]];
var result = arrUs.map(value => value[1]).join(";");
console.log(result);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости