function arrayPreviousLess(nums) {
const output = [-1];
for (let i = 1; i < nums.length; i++) {
if (nums[i-1] < nums[i]) {
output.push(nums[i-1])
} else {
output.push(-1)
}
}
return output
}
//alternate - if lowest value on left should be returned i[-1, 3, -1, 2, 2]
// function arrayPreviousLess(nums) {
// const output = [-1];
// let possibleAnswers = [];
// for (let i = 1; i < nums.length; i++) {
// if (nums[i-1] < nums[i]) {
// possibleAnswers = nums.slice(0,i+1).filter((currentValue,index, array) =>
currentValue < array[array.length-1]).sort((a,b) => b-a)
// console.log(possibleAnswers)
// output.push(possibleAnswers.pop())
// } else {
// output.push(-1)
// }
// }
// return output
// }
/**
* Test Suite
*/
describe('arrayPreviousLess()', () => {
it('shift previous postions from the left to a smaller value or store -1', () => {
// arrange
const nums = [3, 5, 2, 4, 5];
// act
const result = arrayPreviousLess(nums);
// log
console.log("result: ", result);
// assert
expect(result).toEqual([-1, 3, -1, 2, 4]);
});
});