Skip to content

Instantly share code, notes, and snippets.

View hermitbaby's full-sized avatar

Jack Chen hermitbaby

View GitHub Profile
//flatten current level of array or arguments object
var flatten = function(input, shallow, strict, startIndex) {
var output = [], idx = 0;
for (var i = startIndex || 0, length = getLength(input); i < length; i++) {
var value = input[i];
if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
if (!shallow) value = flatten(value, shallow, strict);
var j = 0, len = value.length;
output.length += len;
@hermitbaby
hermitbaby / flatten_embeded_list
Last active August 29, 2015 14:23
Flatten embedded list
def flatten(nested):
# turn [1, [2, [3,4]], 5] to [1,2,3,4,5]
flat = list()
def flatten_in(nested, flat):
for i in nested:
flatten_in(i, flat) if isinstance(i, list) else flat.append(i)
return flat
flatten_in(nested, flat)
@hermitbaby
hermitbaby / NestedStrReplace
Last active August 29, 2015 14:23
NestedStrReplace
#!/usr/bin/env python2.7
from string import Template
import xml.sax
import pprint
import re
import sys
import collections
class PropertyHandler( xml.sax.ContentHandler ):