freeCodeCamp/curriculum/challenges/spanish/08-coding-interview-prep/rosetta-code/compare-a-list-of-strings.s...

3.6 KiB

title id localeTitle challengeType
Compare a list of strings 596e457071c35c882915b3e4 596e457071c35c882915b3e4 5

Description

Dada una lista de muchas cadenas arbitrarias, implemente una función para cada una de las siguientes condiciones:

prueba si todos son léxicamente iguales prueba si cada cadena es léxicamente menor que la siguiente (es decir, si la lista está en estricto orden ascendente)

Instructions

Tests

tests:
  - text: <code>allEqual</code> es una función.
    testString: 'assert(typeof allEqual === "function", "<code>allEqual</code> is a function.");'
  - text: <code>azSorted</code> es una función.
    testString: 'assert(typeof azSorted === "function", "<code>azSorted</code> is a function.");'
  - text: &#39; <code>allEqual([&quot;AA&quot;, &quot;AA&quot;, &quot;AA&quot;, &quot;AA&quot;])</code> devuelve true.&#39;
    testString: 'assert(allEqual(testCases[0]), "<code>allEqual(["AA", "AA", "AA", "AA"])</code> returns true.");'
  - text: &#39; <code>azSorted([&quot;AA&quot;, &quot;AA&quot;, &quot;AA&quot;, &quot;AA&quot;])</code> devuelve falso.&#39;
    testString: 'assert(!azSorted(testCases[0]), "<code>azSorted(["AA", "AA", "AA", "AA"])</code> returns false.");'
  - text: &#39; <code>allEqual([&quot;AA&quot;, &quot;ACB&quot;, &quot;BB&quot;, &quot;CC&quot;])</code> devuelve falso.&#39;
    testString: 'assert(!allEqual(testCases[1]), "<code>allEqual(["AA", "ACB", "BB", "CC"])</code> returns false.");'
  - text: &#39; <code>azSorted([&quot;AA&quot;, &quot;ACB&quot;, &quot;BB&quot;, &quot;CC&quot;])</code> devuelve verdadero.&#39;
    testString: 'assert(azSorted(testCases[1]), "<code>azSorted(["AA", "ACB", "BB", "CC"])</code> returns true.");'
  - text: &#39; <code>allEqual([])</code> devuelve true.&#39;
    testString: 'assert(allEqual(testCases[2]), "<code>allEqual([])</code> returns true.");'
  - text: &#39; <code>azSorted([])</code> devuelve true.&#39;
    testString: 'assert(azSorted(testCases[2]), "<code>azSorted([])</code> returns true.");'
  - text: &#39; <code>allEqual([&quot;AA&quot;])</code> devuelve true.&#39;
    testString: 'assert(allEqual(testCases[3]), "<code>allEqual(["AA"])</code> returns true.");'
  - text: &#39; <code>azSorted([&quot;AA&quot;])</code> devuelve verdadero.&#39;
    testString: 'assert(azSorted(testCases[3]), "<code>azSorted(["AA"])</code> returns true.");'
  - text: &#39; <code>allEqual([&quot;BB&quot;, &quot;AA&quot;])</code> devuelve false. &quot;
    testString: 'assert(!allEqual(testCases[4]), "<code>allEqual(["BB", "AA"])</code> returns false.");'
  - text: &#39; <code>azSorted([&quot;BB&quot;, &quot;AA&quot;])</code> devuelve falso.&#39;
    testString: 'assert(!azSorted(testCases[4]), "<code>azSorted(["BB", "AA"])</code> returns false.");'

Challenge Seed

function allEqual (arr) {
  // Good luck!
  return true;
}

function azSorted (arr) {
  // Good luck!
  return true;
}

After Test

console.info('after the test');

Solution

function allEqual(a) {
  let out = true;
  let i = 0;
  while (++i < a.length) {
    out = out && (a[i - 1] === a[i]);
  } return out;
}

function azSorted(a) {
  let out = true;
  let i = 0;
  while (++i < a.length) {
    out = out && (a[i - 1] < a[i]);
  } return out;
}