2021-06-15 00:49:18 -07:00
---
id: 596e457071c35c882915b3e4
2021-08-02 23:05:44 +09:00
title: Comparar uma lista de strings
2021-06-15 00:49:18 -07:00
challengeType: 5
forumTopicId: 302235
dashedName: compare-a-list-of-strings
---
# --description--
2021-08-02 23:05:44 +09:00
Dada uma [lista ](https://en.wikipedia.org/wiki/List_(abstract_data_type ) "wp: List\_(abstract_data_type)") de várias strings arbitrárias, implemente uma função para cada uma das seguintes condições:
2021-06-15 00:49:18 -07:00
< ul >
2021-08-02 23:05:44 +09:00
< li > testar se todas são lexicalmente iguais< / li >
< li > testar se cada string é lexicalmente menor do que a string imediatamente posterior (ou seja, se a lista está em ordem ascendente estrita)< / li >
2021-06-15 00:49:18 -07:00
< / ul >
# --hints--
2021-08-02 23:05:44 +09:00
`allEqual` deve ser uma função.
2021-06-15 00:49:18 -07:00
```js
assert(typeof allEqual === 'function');
```
2021-08-02 23:05:44 +09:00
`azSorted` deve ser uma função.
2021-06-15 00:49:18 -07:00
```js
assert(typeof azSorted === 'function');
```
2021-08-02 23:05:44 +09:00
`allEqual(["AA", "AA", "AA", "AA"])` deve retornar true.
2021-06-15 00:49:18 -07:00
```js
assert(allEqual(testCases[0]));
```
2021-08-02 23:05:44 +09:00
`azSorted(["AA", "AA", "AA", "AA"])` deve retornar false.
2021-06-15 00:49:18 -07:00
```js
assert(!azSorted(testCases[0]));
```
2021-08-02 23:05:44 +09:00
`allEqual(["AA", "ACB", "BB", "CC"])` deve retornar false.
2021-06-15 00:49:18 -07:00
```js
assert(!allEqual(testCases[1]));
```
2021-08-02 23:05:44 +09:00
`azSorted(["AA", "ACB", "BB", "CC"])` deve retornar true.
2021-06-15 00:49:18 -07:00
```js
assert(azSorted(testCases[1]));
```
2021-08-02 23:05:44 +09:00
`allEqual([])` deve retornar true.
2021-06-15 00:49:18 -07:00
```js
assert(allEqual(testCases[2]));
```
2021-08-02 23:05:44 +09:00
`azSorted([])` deve retornar true.
2021-06-15 00:49:18 -07:00
```js
assert(azSorted(testCases[2]));
```
2021-08-02 23:05:44 +09:00
`allEqual(["AA"])` deve retornar true.
2021-06-15 00:49:18 -07:00
```js
assert(allEqual(testCases[3]));
```
2021-08-02 23:05:44 +09:00
`azSorted(["AA"])` deve retornar true.
2021-06-15 00:49:18 -07:00
```js
assert(azSorted(testCases[3]));
```
2021-08-02 23:05:44 +09:00
`allEqual(["BB", "AA"])` deve retornar false.
2021-06-15 00:49:18 -07:00
```js
assert(!allEqual(testCases[4]));
```
2021-08-02 23:05:44 +09:00
`azSorted(["BB", "AA"])` deve retornar false.
2021-06-15 00:49:18 -07:00
```js
assert(!azSorted(testCases[4]));
```
# --seed--
## --after-user-code--
```js
const testCases = [['AA', 'AA', 'AA', 'AA'], ['AA', 'ACB', 'BB', 'CC'], [], ['AA'], ['BB', 'AA']];
```
## --seed-contents--
```js
function allEqual(arr) {
return true;
}
function azSorted(arr) {
return true;
}
```
# --solutions--
```js
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;
}
```