Подскажите, пожалуйста, как можно посчитать количество пройденных и не пройденных тестов?
След.код:
function dCopy(obj) {
if (Array.isArray(obj)) {
var Arr = [];
for ( var i = 0; i < obj.length; i++ ) {
Arr[i] = dCopy(obj[i]);
}
return Arr;
}
var Hash = {};
for ( i in obj )
Hash[i] = dCopy(obj[i]);
return Hash;
}
// потом идут тесты этой функции
function dCopyTests() {
{
var h1 = { a:5, b:{b1:6,b2:7}, c:[33,22], d:null, e:undefined, f:Number.NaN };
var h2 = dCopy(h1);
console.log(h1 === h2); // false
console.error( false?'пройден':'НЕ ПРОЙДЕН!' );
console.log(h1.a === h2.a); // true
console.log( true?'пройден':'НЕ ПРОЙДЕН!' );
console.log(h1.b === h2.b); // false
console.error( false?'пройден':'НЕ ПРОЙДЕН!' );
console.log(h1.b.b1 === h2.b.b1); // true
console.log( true?'пройден':'НЕ ПРОЙДЕН!' );
}
console.log(dCopyTests_сount); // функция для подсчета пройден/НЕ ПРОЙДЕН
}
function dCopyTests_сount() {
const results=[ 'true', 'false' ];
let count={}; // ключ - true/false, значение - сколько раз встретилось
for ( let i=0; i<results.length; i++ ) {
const result=results[i];
if ( !(result in count) )
count[result]=0;
count[result]++;
}
console.log( count );
}
Функция для подсчета не срабатывает корректно, наверное, есть неточности в коде. Помогите разобраться, в чем здесь дело.
Спасибо.