compareArrays

convert each pair to [0,1 or [1,0]

by trentHarlem

HTML

<div id='show'></div>

JavaScript

//'use strict'
//const show = document.getElementById('show')
const team1 = [5, 6, 7]
const team2 = [3, 6, 10]

const team3 = [7, 2, 10]
const team4 = [2, 10, 8]

const team5 = [1, 2, 3]
const team6 = [4, 5, 6]
// Working function with for loop ////////////////////////

function compareTriplets(a, b) {
  const output = [0, 0]
  for (let i = 0; i < a.length; i++) {
    if (a[i] === b[i]) {
      continue
    } else
      (a[i] > b[i]) ? output[0] += 1 : output[1] += 1;
  }
  return output
}

/////  Working function with forEach

const compareBinary = (a, b) => {
  let output = [0, 0];
  a.forEach((n, i) => {
    if (n !== b[i]) {n > b[i] ? output[0] += 1 : output[1] += 1}
  })
  return output
}
//console.log('Binary',compareBinary(team1, team2))
//console.log('Binary',compareBinary(team3, team4))
//console.log('Binary',compareBinary(team5, team6))

//////////// */

/////  modded boolean from hr susrista && arthurazs python answer
// WORKING
function compareTripletsBOOL(a, b) {
  let output = [0, 0]
  for (let i in a) {
    output[0] += (a[i] > b[i])
    output[1] += (a[i] < b[i])
  }
  return output
}
/////////////

// reduce attempt 2
// ///////////////////////////////////////////////////

function compareReduce(a, b) {
  //console.log('arguments',arguments)
  const result = a.reduce(
    (acc, cur, i) => {
      // console.log('cur',cur,'b[i]',b[i]);
      if (cur !== b[i]) {
        acc[+(cur < b[i])] += 1;
      }
      return acc;
    },
    [0, 0]
  );
  return result;
}

console.log(compareReduce(team1, team2), 'reduce expect [1,1]');
console.log(compareReduce(team3, team4), 'expect [2,1]');
console.log(compareReduce(team5, team6), 'expect [0,3]');
//console.log(compareTripMap(team1, team2), ' MAP expect [1,1]')
//console.log(compareTripReduce(team1, team2), ' REDUCE expect [1,1]')
//console.log(compareTripReduce(team3, team4), ' REDUCE expect [2,1]')
console.log(compareTripletsBOOL(team1, team2), 'BOOL expect [1,1]')
console.log(compareTripletsBOOL(team3,...