00001 00010 function arrayFilter(array, predicate) { 00011 var index = -1, 00012 length = array == null ? 0 : array.length, 00013 resIndex = 0, 00014 result = []; 00015 00016 while (++index < length) { 00017 var value = array[index]; 00018 if (predicate(value, index, array)) { 00019 result[resIndex++] = value; 00020 } 00021 } 00022 return result; 00023 } 00024 00025 module.exports = arrayFilter;