@bigos

Как занести число в соответствующую ячейку?

Здравствуйте. Делаю задачу, в которой нужно каждое число из массива вывести в соотстветствующую ячейку в таблице. Всего ячеек 9, а чисел гораздо больше. Например, в массиве есть числа 2,1,4,3,6,8. При чем числа могут повторяться. Видим 2-ку - заносим в ячейку под номером 2.. 1-цу в ячейку 1 и так далее.
У меня есть массив и переменные с 1 до 9
var massiv = [];
var fkol_1 = 0;
var fkol_2 = 0;
---------
var fkol_9 = 0;

Эти переменные нужны для того, чтобы проверять числа из массива и выводить их в ячейку таблицы(td). Например, вот так:
if ((massiv[i] == 1)) {fkol_1++;}
if ((massiv[i] == 2)) {fkol_2++;}
//и так далее до 9

Также есть 2 переменные a=42, b=79. Их значение может быть разное, но они двухзначные. И мне нужно их разделить, чтобы они стали однозначным(4,2,7,9). Затем значения этих переменных заношу в массив massiv[] через функцию:
function splitNumber(number) {
	number.toString().split('').forEach(number => massiv.push('('+number+')'));
}
splitNumber(a);
splitNumber(b);

Теперь сама суть вопроса: как мне проверить последние 4-е цифры в массиве (в нашем примере эти четыре цифры и являются переменными a,b(4,2,7,9) ) и занести их в определенную ячейку таблицы в скобках? Например, у нас в ячейке есть уже 2-ка, и так как в последних 4-х числах массива встречается 2-ка, то заносим её в скобочках (2), чтобы получилось 2(2) ? Вывожу так переменные:
<td><p>'+fkol_1+'</p></td>
<td><p>'+fkol_2+'</p></td>
/*  и так до fkol_9' */

Для наглядности живой пример - https://jsfiddle.net/e1c81ujg/
  • Вопрос задан
  • 208 просмотров
Решения вопроса 1
@forevist
Front-End Developer
Простите, но это нечитабельно.

if ((massiv[i] == 1)) {fkol_1++;}
if ((massiv[i] == 2)) {fkol_2++;}
//и так далее до 9

замените хотя бы на
fkol[massiv[i]]++;

и так далее, не нужно писать по 10 строк на операции, которые при правильном подходе можно написать одной строчкой.

И именование переменных, старайтесь именовать их понятно и по английски
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы