Подставить строку из подмассивов в цикле
Есть такой код:
var Arr = [["а", "б", "в"], ["г", "д", "е", "ж"], ["з", "и"], ["к", "л", "м"]];
var ArrLen = Arr.length;
for(var i = 0; ArrLen > i; i++){
var textRes = "Строка "+Arr[i]+" cтрока "+Arr[i]+" cтрока "+Arr[i]+" cтрока "+Arr[i];
}
textRes
Получается такой ответ:
Строка к,л,м cтрока к,л,м cтрока к,л,м cтрока к,л,м
Как переделать код так чтобы получился ответ:
Строка а,б,в cтрока г,д,е,ж cтрока з,и cтрока к,л,м
Ответы (4 шт):
Автор решения: Igor
→ Ссылка
var textRes = "Строка "+Arr[0]+" cтрока "+Arr[1]+" cтрока "+Arr[2]+" cтрока "+Arr[3];
Автор решения: frozencoast
→ Ссылка
Объявив переменную внутри цикла вы перезаписываете ее 4 раза.
Достичь желаемого результат можно следующими примерами:
Пример 1. Без цикла, согласно логике вашего кода:
var Arr = [["а", "б", "в"], ["г", "д", "е", "ж"], ["з", "и"], ["к", "л", "м"]];
// Собираем требуемую строку вручную, как в вашем цикле
var textRes = "Cтрока " + Arr[0]
+ " cтрока " + Arr[1]
+ " cтрока " + Arr[2]
+ " cтрока " + Arr[3];
console.log(textRes);
Пример 2. С циклом, согласно логике вашего кода
let Arr = [["а", "б", "в"], ["г", "д", "е", "ж"], ["з", "и"], ["к", "л", "м"]];
// Массив со строками
let textResArr = [];
for (let i = 0, j = Arr.length; i < j; i++) {
// Добавление строки в массив
textResArr.push('строка ' + Arr[i]);
}
// Объединение элементов массива в строку
let textRes = textResArr.join(' ');
// Делаем первую букву заглавной
textRes = textRes[0].toUpperCase() + textRes.substring(1);
console.log(textRes);
Автор решения: Arturas Lapinskas
→ Ссылка
Либо как советуют, через доступ к элемнтам поочередно. Либо на каждый подмассив запускать еще по циклу.
Автор решения: teran
→ Ссылка
let arr = [["а", "б", "в"], ["г", "д", "е", "ж"], ["з", "и"], ["к", "л", "м"]];
let res = "Строка " + arr.join(' строка ');
console.log(res);