Day 4: Count Objects (10 Days of Javascript)

Task:

Complete the function in the editor. It has one parameter: an array,a , of objects. Each object in the array has two integer properties denoted by x and y. The function must return a count of all such objects o in array a that satisfy o.x == o.y .

Solution:

'use strict';

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    
    main();    
});

function readLine() {
    return inputString[currentLine++];
}

/*
 * Return a count of the total number of objects 'o' satisfying o.x == o.y.
 * 
 * Parameter(s):
 * objects: an array of objects with integer properties 'x' and 'y'
 */
function getCount(objects) {
    //method 1
     let count=0;
    objects.map(obj=>{
        if(obj.x==obj.y)
        count++;
    });
    return count;
   //method 2
   //return objects.filter(function(o){return o.x==o.y}).length;
   
   //method 3
   //var count = 0;     
   //  for(var i=0; i<objects.length; i++){       
   //   if(objects[i].x == objects[i].y) {         
   //         count++;       
  //     }     
  //   }     
  //   return count;
}


function main() {
    const n = +(readLine());
    let objects = [];
    
    for (let i = 0; i < n; i++) {
        const [a, b] = readLine().split(' ');
        
        objects.push({x: +(a), y: +(b)});
    }
    
    console.log(getCount(objects));
}

Leave a Reply