Skip to content

Instantly share code, notes, and snippets.

View jswhisperer's full-sized avatar
💭
zzz

Gregory The JSWhisperer jswhisperer

💭
zzz
View GitHub Profile
// Set up a simple object to use as "context"
var context = { foo: "bar" };
// A function that uses a reference to a variable called "foo"
// on the "this" context.
function returnFoo () {
return this.foo;
}
// This variable does not exist on scope, so is undefined.
@jswhisperer
jswhisperer / quick sleep or delay function.js
Created October 27, 2013 16:16
quick sleep or delay function
function sleep(milliSeconds) {
var startTime = new Date().getTime();
while (new Date().getTime() < startTime + milliSeconds);
}
sleep(10000);
@jswhisperer
jswhisperer / getterSetters.js
Created November 2, 2013 14:17
getters setters class js
var getterSetter = function() {
var items = {};
this.get = function(name) {
return items[name];
};
this.set = function(name, value) {
items[name] = value;
};
@jswhisperer
jswhisperer / Save_Reddit_to_MongoDB_using_NodeJS.js
Created November 3, 2013 09:21
Save Reddit to MongoDB using NodeJS
var MongoClient = require('mongodb').MongoClient,
request = require('request');
MongoClient.connect('mongodb://localhost:27017/course', function(err, db) {
if(err) throw err;
request('http://www.reddit.com/r/technology/.json', function(error, response, body) {
if(!error && response.statusCode == 200) {
var obj = JSON.parse(body);
var stories = obj.data.children.map(function(story){ return story.data; });
// Mistake
var str = "David is an Arsenal fan, which means David is great";
str.replace("David", "Darren"); // "Darren is an Arsenal fan, which means David is great"
// Desired
str.replace(/David/g, "Darren"); // "Darren is an Arsenal fan, which means Darren is great"
@jswhisperer
jswhisperer / advanced sort method.js
Created November 20, 2013 17:40
You can sort objects by property, not just simple basic items. In the event that JSON is sent down from the server and objects need to be sorted, keep this in mind!
[
{ name: "Robin Van PurseStrings", age: 30 },
{ name: "Theo Walcott", age: 24 },
{ name: "Bacary Sagna", age: 28 }
].sort(function(obj1, obj2) {
// Ascending: first age less than the previous
return obj1.age - obj2.age;
});
// Returns:
// [
@jswhisperer
jswhisperer / Array Merging with push.js
Created November 20, 2013 17:42
Array Merging with push
var mergeTo = [4,5,6],
var mergeFrom = [7,8,9];
Array.prototype.push.apply(mergeTo, mergeFrom);
mergeTo; // is: [4, 5, 6, 7, 8, 9]
@jswhisperer
jswhisperer / How many strings in the house.js
Created November 26, 2013 20:06
How many strings in the house
function howManyStringsInTheHouse(fullText, searchText){
var regx = new RegExp(searchText,"g"),
testResults = fullText.match(regx);
if (testResults) {
return testResults.length;
}
else
return "Nothing here man";
}
@jswhisperer
jswhisperer / Hipster Hacking: Method Calling.js
Created November 30, 2013 07:59
Hipster Hacking: Method Calling
// Boring
if (success) {
obj.start();
} else {
obj.stop();
}
// Hipster-fun
var method = (success ? 'start' : 'stop');
obj[method]();
@jswhisperer
jswhisperer / new_gist_file_0
Created November 30, 2013 08:00
Hipster Hack: String Joins
['first', 'name'].join(' '); // = 'first name';
['milk', 'coffee', 'suger'].join(', '); // = 'milk, coffee, suger'