Skip to content

Commit

Permalink
update archives folder playground b00tc4mp#70
Browse files Browse the repository at this point in the history
  • Loading branch information
jguerau committed Oct 5, 2024
1 parent 630f1df commit c86095e
Show file tree
Hide file tree
Showing 5 changed files with 128 additions and 0 deletions.
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
console.log('TEST Array.prototype.pop')

console.log('CASE extract tomato from plants')

var plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato']

var plant = plants.pop()

console.log(plants)
// Resultado esperado plants ['broccoli', 'cauliflower', 'cabbage', 'kale']
console.log(plant)
// Resultado esperado 'tomato'
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
console.log('TEST Array.prototype.push')

console.log('CASE add 400 to nums')

var nums = [100, 200, 300]
console.log(nums)
var length = nums.push(400)
console.log(nums)

console.log(length)


var chars = ['A', 'B', 'C', 'D', 'E']
var length = chars.push('F')
console.log(chars)
// ['A', 'B', 'C', 'D', 'E', 'F'] (6)
console.log(length)
// 6

var colors = ['red', 'green', 'blue', 'magenta']
var length = colors.push('cyan', 'yellow', 'orange', 'pink')
console.log(colors)
//['red', 'green', 'blue', 'magenta', cyan', 'yellow', 'orange', 'pink']
console.log(length)
//8
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
var Arroz = function () { this.length = 0 }

Arroz.prototype.pop = function () {
/*
extract last element from arroz (reference in a local variable)
delete last element from arroz
decrement arroz length by 1
return extracted element
*/

var last = this[this.length - 1]
delete this[this.length - 1]
this.length-- // this.length = this.length - 1
return last
}

console.log('CASE extract tomato from plants')

var plants = new Arroz
plants[0] = 'broccoli'
plants[1] = 'cauliflower'
plants[2] = 'cabbage'
plants[3] = 'kale'
plants[4] = 'tomato'
plants.length = 5
var plant = plants.pop()
console.log(plants)
// Arroz { 0: 'broccoli', 1: 'cauliflower', 2: 'cabbage', 3: 'kale', length: 4 }
console.log(plant)
// tomato

console.log('CASE extract last item from cart')

var socks = { brand: 'Adidas', size: 'L', price: 10 }
var tshirt = { brand: 'Nike', size: 'L', price: 20 }
var shoes = { brand: 'Puma', size: 44, price: 50 }
var cart = new Arroz
cart[0] = socks
cart[1] = tshirt
cart[2] = shoes
cart.length = 3
var extracted = cart.pop()
console.log(cart)
/*
Arroz {
0: { brand: 'Adidas', size: 'L', price: 10 },
1: { brand: 'Nike', size: 'L', price: 20 },
length: 2
}
*/
console.log(extracted)
// { brand: 'Puma', size: 44, price: 50 }
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
var Arroz = function () { this.length = 0 }

Arroz.prototype.push = function (element) {
this[this.length] = element
this.length++ //this.length = this.length + 1
return this.length
}

console.log('TEST Arroz.prototype.push')

console.log('CASE add 400 to nums')

var nums = new Arroz
nums[0] = 100
nums[1] = 200
nums[2] = 300
nums.length = 3

var length = nums.push(400)
console.log(nums)
// Arroz { 0: 100, 1: 200, 2: 300, 3: 400, length: 4 }
console.log(length)
// 4

console.log('CASE add F to chars')

var chars = new Arroz
chars[0] = 'A'
chars[1] = 'B'
chars[2] = 'C'
chars[3] = 'D'
chars[4] = 'E'
chars.length = 5

var length = chars.push('F')
console.log(chars)
// Arroz { 0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E', 5: 'F', length: 6 }
console.log(length)
// 6

0 comments on commit c86095e

Please sign in to comment.