В Javascript, как лучше всего обрабатывать сценарии, когда у вас есть набор массивов для выполнения задач на наборах данных, и иногда вы не хотите включать все массивы, а вместо этого комбинацию.Программирование необязательного незнания
Мои массивы помечены в этом маленьком фрагменте L, C, H, V, B, A, S и для того, чтобы наглядно представить, что код составляет около 2500 строк. (Я удалил код заметку с этим поста)
if(C[0].length>0){
L=L[1].concat(+(MIN.apply(this,L[0])).toFixed(7));
C=C[1].concat(C[0][0]);
H=H[1].concat(+(MAX.apply(this,H[0])).toFixed(7));
V=V[1].concat((V[0].reduce(function(a,b){return a+b}))/(V[0].length));
B=B[1].concat((MAX.apply(this,B[0])-MIN.apply(this,B[0]))/2);
A=A[1].concat((MAX.apply(this,A[0])-MIN.apply(this,A[0]))/2);
D=D[1].concat((D[0].reduce(function(a,b){return a+b}))/(D[0].length));
S=S[1].concat((S[0].reduce(function(a,b){return a+b}))/(S[0].length));
}
Казалось бы непродуктивным в этом случае помет код с тонами условий BOOL с просьбой о каждой секции петли или кода, если массив был включен в задаче и даже глупо спрашивать внутри каждой итерации цикла, скажем, встроенное условие, так как это также замедлит обработку, а также сделает код похожим на лабиринт или отверстие кролика.
Есть ли логический метод/библиотека игнорировать инструкции или пропустить, если параметр был установлен в ложном
Все, что я придумал до сих пор является своего рода бессмысленно рядный вещь
var op=[0,1,1,0,0,0,0,0]; //options
var L=[],C=[],H=[],V=[],B=[],A=[],D=[],S=[];
op[0]&&[L[0]=1];
op[1]&&[C[0]=1,console.log('test, do more than one thing')];
op[2]&&[H[0]=1];
op[3]&&[V[0]=1];
op[4]&&[B[0]=1];
op[5]&&[A[0]=1];
op[6]&&[A[0]=1];
Он работает в том, что он устанавливает только C[0]
и H[0]
в 1 по мере необходимости, но он терпит неудачу, поскольку ему необходимо задать семь вопросов на итерацию цикла, как это может быть сделано внутри цикла. Вместо того, чтобы делать семь версий цикла или кода, а вместо того, чтобы задавать вопросы внутри каждого цикла, есть другой стиль/метод?
Я также заметил, что если я создаю массив, то в какой-то момент сделать его равным NaN, а не определено или обнулить консоль не жалуется
var L=[],C=[],H=[],V=[],B=[],A=[],D=[],S=[];
L=NaN;
L[0]=1;
//1
console.log(L); //NaN
L=undefined;
L[0]=1
//TypeError: Cannot set property '0' of undefined
L=null
L[0]=1
//TypeError: Cannot set property '0' of null
я получаю теплее? Я бы предположил, что если бы я выполнил некоторую математику по L[0]
, когда isNaN(L)===true
, что математика выполняется, но не хранится, поэтому на самом деле эта строка не игнорируется.
NaN - это номер. То же самое происходит, если вы установите L на любой другой номер, L [0] = 1; будут вести себя одинаково. – Winchestro
Трудно действительно получить ваше намерение. Ваш стиль кодирования очень экзотический, но не в хорошем смысле. Больше в «это будет трудно читать, отлаживать и поддерживать в долгосрочной перспективе». У вас есть конкретный вопрос или я просто перечислю кучу вещей, которые вы можете проверить? – Winchestro
Речь идет о том, как мне поддерживать поведение, основанное на исходном параметре, без необходимости постоянно ссылаться на начальную опцию. – 8DK