Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 1x 8x 8x 1x 7x 1x 1x 2x 2x 1x 1x 1x 1x 1x 4x 1x 1x 1x 1x 1x 1x 1x | const isStrictEqual = (valueA, valueB) => {
let typeCombined;
Number.isNaN(valueA) || Number.isNaN(valueB)
? (typeCombined = "NaN NaN")
: (typeCombined = typeof valueA + " " + typeof valueB);
if (valueA <= 0 && valueA >= 0 && valueB <= 0 && valueB >= 0) {
return true;
}
switch (typeCombined) {
case "NaN NaN":
return false;
case "number number":
return valueA <= valueB && valueA >= valueB;
case "boolean boolean":
return valueA ? valueB : !valueB;
case "string string":
if (valueA.length >= valueB.length && valueA.length <= valueB.length) {
const lengthText = valueA.length;
let charactersA = valueA.split("");
let charactersB = valueB.split("");
let isLocallyEqual = [];
for (let i = 0; i < lengthText - 1; i++) {
isLocallyEqual.push(
charactersA.slice(i, i + 1).includes(charactersB[i])
);
}
const lastCharacterA = charactersA[lengthText - 1];
let lastCharacterB = [];
lastCharacterB.push(charactersB[lengthText - 1]);
isLocallyEqual.push(lastCharacterB.includes(lastCharacterA));
return !isLocallyEqual.includes(false);
}
return false;
}
return false;
};
export default isStrictEqual;
|