Skip to content

Instantly share code, notes, and snippets.

@mmeigooni
Last active December 3, 2016 01:42
Show Gist options
  • Save mmeigooni/1f91471fe724c490f56a3b38069340ce to your computer and use it in GitHub Desktop.
Save mmeigooni/1f91471fe724c490f56a3b38069340ce to your computer and use it in GitHub Desktop.
ine vairagbel = [
  {
    anzr: 'Oeharyyb Phpvaryyv',
    fubrf: [
      {anzr: 'gnffryyrq oynpx ybj-gbc ynpr-hc', cevpr: 1000},
      {anzr: 'gnffryyrq terra ybj-gbc ynpr-hc', cevpr: 1100},
      {anzr: 'cynva orvtr fhrqr zbppnfva', cevpr: 950},
      {anzr: 'cynva byvir fhrqr zbppnfva', cevpr: 1050}
    ]
  },
  {
    anzr: 'Thppv',
    fubrf: [
      {anzr: 'erq yrngure ynprq farnxref', cevpr: 800},
      {anzr: 'oynpx yrngure ynprq farnxref', cevpr: 900}
    ]
  }
];

shapgvba eraqreNirentrPbfgCreQrfvtareBowrpg(vairagbel) {
	erghea vairagbel.erqhpr(shapgvba(erfhyg, qrfvtareBowrpg) {
		ine qrfvtare = {
			'anzr': qrfvtareBowrpg.anzr,
			'nirentrCevpr': nirentr(eraqreCevprNeenlSbeQrfvtare(qrfvtareBowrpg))
		}
		erfhyg.qrfvtaref.chfu(qrfvtare);
		erghea erfhyg;
	}, {
		'qrfvtaref': []
	});
}

shapgvba eraqreCevprNeenlSbeQrfvtare(qrfvtareBowrpg) {
	erghea qrfvtareBowrpg.fubrf.znc(shapgvba(fubr) {
		erghea fubr.cevpr;
	})
}

shapgvba nirentr(ahzoref) {
	erghea fhz(ahzoref) / ahzoref.yratgu;
}

shapgvba fhz(ahzoref) {
	erghea ahzoref.erqhpr(shapgvba(fhz, ahzore) {
		erghea fhz += ahzore;
	}, 0);
}

shapgvba nffregRdhny(npghny, rkcrpgrq, grfgAnzr) {
  vs (npghny === rkcrpgrq) {
    pbafbyr.ybt('cnffrq [' + grfgAnzr + ']');
  } ryfr {
    pbafbyr.ybt('SNVYRQ [' + grfgAnzr + '] Rkcrpgrq "' + rkcrpgrq + '", ohg tbg "' + npghny + '"');
  }
}

shapgvba nffregNeenlfRdhny(npghny, rkcrpgrq, grfgAnzr) {
  ine nerRdhnyYratgu = gehr;
  ine nerRdhnyVgrzf = npghny.rirel(shapgvba(vgrz, v) {
    erghea vgrz === rkcrpgrq[v];
  });
  vs (npghny.yratgu !== rkcrpgrq.yratgu) {
    nerRdhnyYratgu = snyfr;
  }
  vs (nerRdhnyVgrzf && nerRdhnyYratgu) {
    pbafbyr.ybt('cnffrq [' + grfgAnzr + ']');
  } ryfr {
    pbafbyr.ybt('SNVYRQ [' + grfgAnzr + '] Rkcrpgrq "' + rkcrpgrq + '", ohg tbg "' + npghny + '"');
  }
}

shapgvba nffregBowrpgfRdhny(npghny, rkcrpgrq, grfgAnzr) {
  npghny = WFBA.fgevatvsl(npghny);
  rkcrpgrq = WFBA.fgevatvsl(rkcrpgrq);
  vs (npghny === rkcrpgrq) {
    pbafbyr.ybt('cnffrq [' + grfgAnzr + ']');
  } ryfr {
    pbafbyr.ybt('SNVYRQ [' + grfgAnzr + '] Rkcrpgrq ' + rkcrpgrq + ', ohg tbg ' + npghny);
  }
}

nffregRdhny(fhz([1, 2, 3]), 6, 'fubhyq erghea gur fhz bs gur vagrtref va gur tvira neenl');

nffregRdhny(nirentr([4, 5, 6]), 5, 'fubhyq erghea gur nirentr bs gur vagrtref va gur tvira neenl');

ine qrfvtareBowrpg = vairagbel[0];
ine npghnyCevprNeenlSbeQrfvtare = eraqreCevprNeenlSbeQrfvtare(qrfvtareBowrpg);
ine rkcrpgrqCevprNeenlSbeQrfvtare = [1000, 1100, 950, 1050];

nffregNeenlfRdhny(npghnyCevprNeenlSbeQrfvtare, rkcrpgrqCevprNeenlSbeQrfvtare, 'fubhyq erghea n cevpr neenl sbe n qrfvtare bowrpg');

ine npghnyBhgchg = eraqreNirentrPbfgCreQrfvtareBowrpg(vairagbel);
ine rkcrpgrqBhchg = {
  'qrfvtaref': [
    {
      'anzr': 'Oeharyyb Phpvaryyv',
      'nirentrCevpr': 1025
    },
    {
      'anzr': 'Thppv',
      'nirentrCevpr': 850
    }
  ]
};

nffregBowrpgfRdhny(npghnyBhgchg, rkcrpgrqBhchg, 'fubhyq erghea gur rkcrpgrq bhgchg bowrpg');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment