Skip to content

Instantly share code, notes, and snippets.

View nabrown's full-sized avatar

Nora Brown nabrown

View GitHub Profile
@nabrown
nabrown / grams-final.html
Last active June 21, 2020 22:46
Instagram Gallery - Complete
<!DOCTYPE html>
<html>
<head>
<title>Instagram Gallery</title>
<script src="https://unpkg.com/[email protected]/dist/vue.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<style type="text/css">
:root{
--color: #95e9ef;
--background: #1f1f1f;
@nabrown
nabrown / Utils.2.1.js
Created April 9, 2018 13:05
Another implementation of getRandosFromArray, using an efficient shuffle function
export const getRandosFromArray = function(arr, numRandos){
let arrClone = arr.slice(0)
let shuffled = shuffle(arrClone)
let randos = shuffled.slice(0, numRandos)
return randos
}
// https://bost.ocks.org/mike/shuffle/
const shuffle = function(array) {
var m = array.length, t, i;
@nabrown
nabrown / Utils.2.0.js
Last active April 9, 2018 13:28
Another implementation of getRandosFromArray function, using shuffled array
export const getRandosFromArray = function(arr, numRandos){
let arrClone = array.slice(0)
let shuffled = arrClone.sort(function() { return .5 - Math.random() })
let randos = shuffled.slice(0, numRandos)
return randos
}
@nabrown
nabrown / Utils.1.1.js
Last active April 9, 2018 12:59
One working implementation of getRandosFromArray function
export const getRandosFromArray = function(arr, numRandos){
let arrClone = arr.slice(0)
let randos = []
for (let i = 0; i < numRandos; i++){
let rand = Math.floor(Math.random() * arrClone.length)
randos.push(arrClone.splice(rand,1)[0]) // splice returns a new array
}
return randos
}
@nabrown
nabrown / Utils.1.0.js
Last active April 9, 2018 12:53
An incorrect implementation of a getRandosFromArray function
export const getRandosFromArray = function(arr, numRandos){
let arrClone = arr.slice(0)
let randos = []
for (let i = 0; i < numRandos; i++){
let rand = Math.floor(Math.random() * arrClone.length)
randos.push(arrClone.splice(rand,1))
}
return randos
}
@nabrown
nabrown / Utils.spec.js
Created April 9, 2018 12:49
A test for a function getRandosFromArray
test('getRandosFromArray returns an array of n random items from an array', () => {
let array = [{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 5}, {id: 6}, {id: 7}, {id: 8}, {id: 9}]
let n = 2
let items = utils.getRandosFromArray(array, n)
expect(items.length).toBe(n)
expect(array).toContain(items[0])
expect(array).toContain(items[1])
})