Я новичок в 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:

