From bf5a574309a75d6bf680d88eb6c569a58c6ab046 Mon Sep 17 00:00:00 2001 From: dtr200 Date: Tue, 15 Jun 2021 15:55:53 +0300 Subject: [PATCH] Homeworks-2: task 2 has been completed --- homework-lecture-2/sequence-type.js | 54 +++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/homework-lecture-2/sequence-type.js b/homework-lecture-2/sequence-type.js index c19b0f2..362e185 100644 --- a/homework-lecture-2/sequence-type.js +++ b/homework-lecture-2/sequence-type.js @@ -1,12 +1,60 @@ function getSequenceType(list){ - if(!list.length) - return + if(!list.length) return; let prev = list[0]; + let type = { + constant: false, + ascending: false, + weaklyAscending: false, + descending: false, + weaklyDescending: false + }; for(let i = 1; i < list.length; i++){ - if(list[i] >= prev) + if(list[i] > prev && + !type.descending && + !type.weaklyAscending && + !type.weaklyDescending && + !type.constant){ + type.ascending = true; + prev = list[i]; + } + else if(list[i] < prev && + !type.weaklyAscending && + !type.weaklyDescending && + !type.ascending && + !type.constant){ + type.descending = true; + prev = list[i]; + } + else if(list[i] === prev && + !type.descending && + !type.ascending && + !type.weaklyAscending && + !type.weaklyDescending){ + type.constant = true; + prev = list[i]; + } + else if(list[i] >= prev && + !type.descending && + !type.weaklyDescending){ + type.weaklyAscending = true; + prev = list[i]; + } + else if(list[i] <= prev && + !type.ascending && + !type.weaklyAscending){ + type.weaklyDescending = true; + prev = list[i]; + } + else{ + return 'RANDOM'; + } } + return type.weaklyAscending ? 'WEAKLY ASCENDING' : + type.weaklyDescending ? 'WEAKLY DESCENDING' : + type.ascending ? 'ASCENDING' : + type.descending ? 'DESCENDING' : 'CONSTANT' } getSequenceType([