2014-03-25 82 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' ] 
相關問題