global variable return in function

I have using node module that reads firewall ip rules from ubuntu and using this function:

function lists(table, chain, cb) {
var ip = [];
// Accepts optional table argument
if(!cb) {
    cb = chain;
    chain = table;
    table = undefined;
var rule = {
    list : true,
    chain : chain,
            table : table,
    action : '-L',
    sudo : true

    .map(function (line) {
        // packets, bytes, target, pro, opt, in, out, src, dst, opts
        var fields = line.trim().split(/\s+/, 9);


    return ip;

The problem is that console.log(ip) gets correct ip values and return ip gets undefined variable how can i return array of ip in return(ip) so when i call this function from main program then i can compare if ip in array...i define global array variable at the beggining of function (var ip = [];) but return ip gets undefined can i return global ip array variable in return(ip)?