Я новичок в js, как вывести элементы двух массивов с нумерацией в виде столбца, чтобы напротив номера были соответствующие элементы из двух массивов?

let A = [1, 2, 3 ,4, 5];
let a = [5, 6, 7, 8, 9];
let abs = [];
let otn = [];

for (let i=0; i < A.length; i++) { 
    
    abs.push(A[i] - a[i]); 
    otn.push(abs[i]/a[i]);
}



for(let i=0; i < abs.length; i++) {
    for(let j=0; j < otn.length; j++) {
        console.log(i + 1 + '.', abs[i], otn[j]);
    }
}

Ответы (3 шт):

Автор решения: Oleg Dmitrochenko

У вас почти все правильно. Только количество элементов в массиве не изменяется и не нужно ради вывода вашей таблицы по вашему условию выводить цикл в цикле.

let A = [1, 2, 3 ,4, 5];
let a = [5, 6, 7, 8, 9];
let abs = [];
let otn = [];

for (let i=0; i < A.length; i++) { 
    
    abs.push(A[i] - a[i]); 
    otn.push(abs[i]/a[i]);
}



for(let i=0; i < abs.length; i++) {
   console.log(i + 1 + '.', abs[i], otn[i]);
}

Вы можете сделать еще проще использовав один массив для результата.

const A = [1, 2, 3 ,4, 5];
const a = [5, 6, 7, 8, 9];
const result = [];

for (let i=0; i < A.length; i++) { 
   const abs = A[i] - a[i];
    
    // Записываем данные в виде объекта
    result.push({
           abs,
           otn: abs/a[i]
        });
    }

// Проходим по массиву и получаем наши объекты
result.forEach((element, i) => console.log(`${i + 1}. ${element.abs} ${element.otn}`));

→ Ссылка
Автор решения: Aziz Umarov

Предложу такой вариант. Чуток покороче.

const A = [1, 2, 3 ,4, 5];
const a = [5, 6, 7, 8, 9];
   
A.forEach((_, i) => console.log(`${i + 1}. ${A[i]-a[i]} ${(A[i]-a[i])/a[i]}`));

→ Ссылка
Автор решения: Qwertiy

var a = [100, 200, 300, 400, 500]
var b = ["q", "w", "e", "r", "t"]

// 0-indexed
console.table(a.map((x, i) => ({ a: a[i], b: b[i] })))

// 1-indexed
console.table([, ...a.map((x, i) => ({ a: a[i], b: b[i] }))])
Запускать с открытой браузерной консолью

В браузере:

в браузере

В node.js:

в node.js

→ Ссылка