Compares 2 ios and android versions Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Improve this function that compares jQuery versionsAndroid Thread and RunnableSetting up tab bar, navigation, and view controllers in iOSSwift iOS - Call back functionsPython script to create Android/iOS strings from a .csvSmall camera app in react-native for AndroidExtend OnClickListener and animate view in androidCustom header with React-Navigation and React-Native-PaperMultiple stacks implemented via a linked lists on top of single fixed-size arrayCreating directory within Application Support, and preventing iCloud backup

What does "fit" mean in this sentence?

How to find all the available tools in mac terminal?

Output the ŋarâþ crîþ alphabet song without using (m)any letters

Is it fair for a professor to grade us on the possession of past papers?

Sci-Fi book where patients in a coma ward all live in a subconscious world linked together

3 doors, three guards, one stone

When do you get frequent flier miles - when you buy, or when you fly?

Should I use a zero-interest credit card for a large one-time purchase?

Do I really need recursive chmod to restrict access to a folder?

Storing hydrofluoric acid before the invention of plastics

How do pianists reach extremely loud dynamics?

What is Arya's weapon design?

List of Python versions

Why do people hide their license plates in the EU?

Why was the term "discrete" used in discrete logarithm?

How to answer "Have you ever been terminated?"

How to bypass password on Windows XP account?

How can I make names more distinctive without making them longer?

Why are Kinder Surprise Eggs illegal in the USA?

Generate an RGB colour grid

What is the role of the transistor and diode in a soft start circuit?

Check which numbers satisfy the condition [A*B*C = A! + B! + C!]

Using audio cues to encourage good posture

When a candle burns, why does the top of wick glow if bottom of flame is hottest?



Compares 2 ios and android versions



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Improve this function that compares jQuery versionsAndroid Thread and RunnableSetting up tab bar, navigation, and view controllers in iOSSwift iOS - Call back functionsPython script to create Android/iOS strings from a .csvSmall camera app in react-native for AndroidExtend OnClickListener and animate view in androidCustom header with React-Navigation and React-Native-PaperMultiple stacks implemented via a linked lists on top of single fixed-size arrayCreating directory within Application Support, and preventing iCloud backup



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0












$begingroup$


Please review and let me know which version is better?
Just trying to find any caveats or better ways to accomplish the a version comparison independent from android and ios.



Formats accepted: '1.0.0' or '1' formats and an operator, e.g: compareVersion('1', '1.2.0', '>')



export function compareVersion(version1, version2, operator) 
const formattedV1 = version1.split(".");
const formattedV2 = version2.split(".");

let diff = 0;

if (formattedV1.length !== formattedV2.length)
const lengthDiff = formattedV1.length - formattedV2.length;
for (let index = 0; index < Math.abs(lengthDiff); index += 1)
if (lengthDiff > 0)
formattedV2.push("0");
else
formattedV1.push("0");




for (let index = 0; index < formattedV1.length; index += 1)
if (diff === 0)
const v1 = parseInt(formattedV1[index]);
const v2 = parseInt(formattedV2[index]);
if (isNaN(v1)


switch (operator)
case "=":
case "==":
return diff === 0;
case ">=":
return diff >= 0;
case "<=":
return diff <= 0;
case ">":
return diff > 0;
case "<":
return diff < 0;

default:
throw new Error("Problem comparing versions");




OR



export function compareVersions(a, b, operator) 
const aParts = a.split('.');
const bParts = b.split('.');

const pairs = [];

for (let index = 0; index < Math.max(aParts.length, bParts.length); index += 1)
pairs.push(
a: parseInt(aParts[index]),
b: parseInt(bParts[index]),
);


let diff = 0;

pairs.forEach((pair) =>
if (diff === 0)
if (pair.a > pair.b)
diff = 1;

if (pair.b > pair.a)
diff = -1;

if (!isNaN(pair.a) && isNaN(pair.b))
diff = 1;

if (isNaN(pair.a) && !isNaN(pair.b))
diff = -1;


);

switch (operator)
case '=':
case '==':
return diff === 0;
case '>=':
return diff >= 0;
case '<=':
return diff <= 0;
case '>':
return diff > 0;
case '<':
return diff < 0;

default:
throw new Error('Problem comparing versions');










share







New contributor




Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$


















    0












    $begingroup$


    Please review and let me know which version is better?
    Just trying to find any caveats or better ways to accomplish the a version comparison independent from android and ios.



    Formats accepted: '1.0.0' or '1' formats and an operator, e.g: compareVersion('1', '1.2.0', '>')



    export function compareVersion(version1, version2, operator) 
    const formattedV1 = version1.split(".");
    const formattedV2 = version2.split(".");

    let diff = 0;

    if (formattedV1.length !== formattedV2.length)
    const lengthDiff = formattedV1.length - formattedV2.length;
    for (let index = 0; index < Math.abs(lengthDiff); index += 1)
    if (lengthDiff > 0)
    formattedV2.push("0");
    else
    formattedV1.push("0");




    for (let index = 0; index < formattedV1.length; index += 1)
    if (diff === 0)
    const v1 = parseInt(formattedV1[index]);
    const v2 = parseInt(formattedV2[index]);
    if (isNaN(v1)


    switch (operator)
    case "=":
    case "==":
    return diff === 0;
    case ">=":
    return diff >= 0;
    case "<=":
    return diff <= 0;
    case ">":
    return diff > 0;
    case "<":
    return diff < 0;

    default:
    throw new Error("Problem comparing versions");




    OR



    export function compareVersions(a, b, operator) 
    const aParts = a.split('.');
    const bParts = b.split('.');

    const pairs = [];

    for (let index = 0; index < Math.max(aParts.length, bParts.length); index += 1)
    pairs.push(
    a: parseInt(aParts[index]),
    b: parseInt(bParts[index]),
    );


    let diff = 0;

    pairs.forEach((pair) =>
    if (diff === 0)
    if (pair.a > pair.b)
    diff = 1;

    if (pair.b > pair.a)
    diff = -1;

    if (!isNaN(pair.a) && isNaN(pair.b))
    diff = 1;

    if (isNaN(pair.a) && !isNaN(pair.b))
    diff = -1;


    );

    switch (operator)
    case '=':
    case '==':
    return diff === 0;
    case '>=':
    return diff >= 0;
    case '<=':
    return diff <= 0;
    case '>':
    return diff > 0;
    case '<':
    return diff < 0;

    default:
    throw new Error('Problem comparing versions');










    share







    New contributor




    Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$














      0












      0








      0





      $begingroup$


      Please review and let me know which version is better?
      Just trying to find any caveats or better ways to accomplish the a version comparison independent from android and ios.



      Formats accepted: '1.0.0' or '1' formats and an operator, e.g: compareVersion('1', '1.2.0', '>')



      export function compareVersion(version1, version2, operator) 
      const formattedV1 = version1.split(".");
      const formattedV2 = version2.split(".");

      let diff = 0;

      if (formattedV1.length !== formattedV2.length)
      const lengthDiff = formattedV1.length - formattedV2.length;
      for (let index = 0; index < Math.abs(lengthDiff); index += 1)
      if (lengthDiff > 0)
      formattedV2.push("0");
      else
      formattedV1.push("0");




      for (let index = 0; index < formattedV1.length; index += 1)
      if (diff === 0)
      const v1 = parseInt(formattedV1[index]);
      const v2 = parseInt(formattedV2[index]);
      if (isNaN(v1)


      switch (operator)
      case "=":
      case "==":
      return diff === 0;
      case ">=":
      return diff >= 0;
      case "<=":
      return diff <= 0;
      case ">":
      return diff > 0;
      case "<":
      return diff < 0;

      default:
      throw new Error("Problem comparing versions");




      OR



      export function compareVersions(a, b, operator) 
      const aParts = a.split('.');
      const bParts = b.split('.');

      const pairs = [];

      for (let index = 0; index < Math.max(aParts.length, bParts.length); index += 1)
      pairs.push(
      a: parseInt(aParts[index]),
      b: parseInt(bParts[index]),
      );


      let diff = 0;

      pairs.forEach((pair) =>
      if (diff === 0)
      if (pair.a > pair.b)
      diff = 1;

      if (pair.b > pair.a)
      diff = -1;

      if (!isNaN(pair.a) && isNaN(pair.b))
      diff = 1;

      if (isNaN(pair.a) && !isNaN(pair.b))
      diff = -1;


      );

      switch (operator)
      case '=':
      case '==':
      return diff === 0;
      case '>=':
      return diff >= 0;
      case '<=':
      return diff <= 0;
      case '>':
      return diff > 0;
      case '<':
      return diff < 0;

      default:
      throw new Error('Problem comparing versions');










      share







      New contributor




      Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      Please review and let me know which version is better?
      Just trying to find any caveats or better ways to accomplish the a version comparison independent from android and ios.



      Formats accepted: '1.0.0' or '1' formats and an operator, e.g: compareVersion('1', '1.2.0', '>')



      export function compareVersion(version1, version2, operator) 
      const formattedV1 = version1.split(".");
      const formattedV2 = version2.split(".");

      let diff = 0;

      if (formattedV1.length !== formattedV2.length)
      const lengthDiff = formattedV1.length - formattedV2.length;
      for (let index = 0; index < Math.abs(lengthDiff); index += 1)
      if (lengthDiff > 0)
      formattedV2.push("0");
      else
      formattedV1.push("0");




      for (let index = 0; index < formattedV1.length; index += 1)
      if (diff === 0)
      const v1 = parseInt(formattedV1[index]);
      const v2 = parseInt(formattedV2[index]);
      if (isNaN(v1)


      switch (operator)
      case "=":
      case "==":
      return diff === 0;
      case ">=":
      return diff >= 0;
      case "<=":
      return diff <= 0;
      case ">":
      return diff > 0;
      case "<":
      return diff < 0;

      default:
      throw new Error("Problem comparing versions");




      OR



      export function compareVersions(a, b, operator) 
      const aParts = a.split('.');
      const bParts = b.split('.');

      const pairs = [];

      for (let index = 0; index < Math.max(aParts.length, bParts.length); index += 1)
      pairs.push(
      a: parseInt(aParts[index]),
      b: parseInt(bParts[index]),
      );


      let diff = 0;

      pairs.forEach((pair) =>
      if (diff === 0)
      if (pair.a > pair.b)
      diff = 1;

      if (pair.b > pair.a)
      diff = -1;

      if (!isNaN(pair.a) && isNaN(pair.b))
      diff = 1;

      if (isNaN(pair.a) && !isNaN(pair.b))
      diff = -1;


      );

      switch (operator)
      case '=':
      case '==':
      return diff === 0;
      case '>=':
      return diff >= 0;
      case '<=':
      return diff <= 0;
      case '>':
      return diff > 0;
      case '<':
      return diff < 0;

      default:
      throw new Error('Problem comparing versions');








      javascript beginner react-native





      share







      New contributor




      Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 6 mins ago









      VincentVincent

      1




      1




      New contributor




      Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Vincent is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "196"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          Vincent is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217593%2fcompares-2-ios-and-android-versions%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Vincent is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          Vincent is a new contributor. Be nice, and check out our Code of Conduct.












          Vincent is a new contributor. Be nice, and check out our Code of Conduct.











          Vincent is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217593%2fcompares-2-ios-and-android-versions%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          名間水力發電廠 目录 沿革 設施 鄰近設施 註釋 外部連結 导航菜单23°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.7113923°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.71139計畫概要原始内容臺灣第一座BOT 模式開發的水力發電廠-名間水力電廠名間水力發電廠 水利署首件BOT案原始内容《小檔案》名間電廠 首座BOT水力發電廠原始内容名間電廠BOT - 經濟部水利署中區水資源局

          Prove that NP is closed under karp reduction?Space(n) not closed under Karp reductions - what about NTime(n)?Class P is closed under rotation?Prove or disprove that $NL$ is closed under polynomial many-one reductions$mathbfNC_2$ is closed under log-space reductionOn Karp reductionwhen can I know if a class (complexity) is closed under reduction (cook/karp)Check if class $PSPACE$ is closed under polyonomially space reductionIs NPSPACE also closed under polynomial-time reduction and under log-space reduction?Prove PSPACE is closed under complement?Prove PSPACE is closed under union?

          Is my guitar’s action too high? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Strings too stiff on a recently purchased acoustic guitar | Cort AD880CEIs the action of my guitar really high?Μy little finger is too weak to play guitarWith guitar, how long should I give my fingers to strengthen / callous?When playing a fret the guitar sounds mutedPlaying (Barre) chords up the guitar neckI think my guitar strings are wound too tight and I can't play barre chordsF barre chord on an SG guitarHow to find to the right strings of a barre chord by feel?High action on higher fret on my steel acoustic guitar