mDiscardLast
mDiscardLast
(num: number) => (anArray: array) => anArray
Discard the last
num
valuesConsider discardLast instead.
This is for the uncommon case where mutatinganArray
is required.const mDiscardLast2 = mDiscardLast(2) const arr = [1, 2, 3, 4] const mutatedArr = mDiscardLast2(arr) console.log(mutatedArr === arr) // is true console.log(arr) // is [1, 2]
const mDiscardLast2 = mDiscardLast(2) const arr = [1, 2, 3, 4] const mutatedArr = mDiscardLast2(arr) console.log(mutatedArr === arr) // is true console.log(arr) // is [1, 2]
const mDiscardLast2 = mDiscardLast(2) const arr = [1, 2, 3, 4] const mutatedArr = mDiscardLast2(arr) console.log(mutatedArr === arr) // is true console.log(arr) // is [1, 2]
const mDiscardLast2 = mDiscardLast(2) const arr = [1, 2, 3, 4] const mutatedArr = mDiscardLast2(arr) console.log(mutatedArr === arr) // is true console.log(arr) // is [1, 2]
Sometimes we get data in the form of arrays rather than objects. Below, we have weather data from a spreadsheet. For now we don't care about the max wind speed nor climate columns, so let's remove them.
const [_headers, ...weatherData] = [ ['date', 'low', 'high', 'wind', 'climate'], ['2025-04-08', 35, 50, 15, 'sunny'], ['2025-04-09', 40, 55, 10, 'cloudy'], ['2025-04-10', 38, 52, 12, 'rain shower'], ] const discardWindAndClimate = mDiscardLast(2) const discardAllWindAndClimate = forEach(discardWindAndClimate) discardAllWindAndClimate(weatherData) console.log(weatherData) // is [ // ['2025-04-08', 35, 50], // ['2025-04-09', 40, 55], // ['2025-04-10', 38, 52], // ]
type Row = Array<string | number> type WeatherData = Row[] const [_headers, ...weatherData]: [string[], ...WeatherData] = [ ['date', 'low', 'high', 'wind', 'climate'], ['2025-04-08', 35, 50, 15, 'sunny'], ['2025-04-09', 40, 55, 10, 'cloudy'], ['2025-04-10', 38, 52, 12, 'rain shower'], ] const discardWindAndClimate = mDiscardLast(2)<Row> const discardAllWindAndClimate = forEach(discardWindAndClimate)<WeatherData> discardAllWindAndClimate(weatherData) console.log(weatherData) // is [ // ['2025-04-08', 35, 50], // ['2025-04-09', 40, 55], // ['2025-04-10', 38, 52], // ]
const [_headers, ...weatherData] = [ ['date', 'low', 'high', 'wind', 'climate'], ['2025-04-08', 35, 50, 15, 'sunny'], ['2025-04-09', 40, 55, 10, 'cloudy'], ['2025-04-10', 38, 52, 12, 'rain shower'], ] const discardWindAndClimate = mDiscardLast(2) const discardAllWindAndClimate = forEach( discardWindAndClimate ) discardAllWindAndClimate(weatherData) console.log(weatherData) // is [ // ['2025-04-08', 35, 50], // ['2025-04-09', 40, 55], // ['2025-04-10', 38, 52], // ]
type Row = Array<string | number> type WeatherData = Row[] const [_headers, ...weatherData]: [ string[], ...WeatherData, ] = [ ['date', 'low', 'high', 'wind', 'climate'], ['2025-04-08', 35, 50, 15, 'sunny'], ['2025-04-09', 40, 55, 10, 'cloudy'], ['2025-04-10', 38, 52, 12, 'rain shower'], ] const discardWindAndClimate = mDiscardLast(2)<Row> const discardAllWindAndClimate = forEach( discardWindAndClimate )<WeatherData> discardAllWindAndClimate(weatherData) console.log(weatherData) // is [ // ['2025-04-08', 35, 50], // ['2025-04-09', 40, 55], // ['2025-04-10', 38, 52], // ]