2014-03-25 43 views
1
var items = function (selector) { 
    var elements = []; 
    var allDivs = elements.push(selector); 
console.log(elements) // ["div"] script.js:13 
         ["img.some_class"] script.js:13 
         ["#some_id"] script.js:13 
         [".some_class"] script.js:13 
         ["input#some_id"] script.js:13 
         ["div#some_id.some_class"] script.js:13 
         ["div.some_class#some_id"] script.js:13 
} 

chrome中的console.log显示当前列出的值。将函数参数中的多个值加入到数组中

我如何将这些返回的值分组到单个数组中?我试过使用连接,但是这个或者没有方括号,或者只是删除[“”],只留下值。

+0

你到底想达到什么目的?一个包含所有你已经传入这个函数的选择器的数组? –

+0

是的。干杯 – lxm7

回答

1
var selector = [ 
    ["div"], 
    ["img.some_class"], 
    ["#some_id"], 
    [".some_class"], 
    ["input#some_id"], 
    ["div#some_id.some_class"], 
    ["div.some_class#some_id"] 
]; 

console.log(selector.reduce(function(result, current) { 
    result.push(current[0]); 
    return result; 
}, [])); 

输出

[ 'div', 
    'img.some_class', 
    '#some_id', 
    '.some_class', 
    'input#some_id', 
    'div#some_id.some_class', 
    'div.some_class#some_id' ] 
相关问题