从Javascript中的元素列表中获取href列表

Van*_*als 0 javascript foreach

我知道我可以用一个简单的for循环来做到这一点,但我想要更好地理解如何使用forEach.

我要做的是,有一个来自querySelectorAll()的"a"元素列表,以获得具有href属性的数组.怎么了?

var links = document.querySelectorAll("a");
function get_hrefs(links){
    var links_array = links.forEach(function(elem){ return elem.getAttribute("href"); });
    return links_array;
}
get_hrefs(links);
Run Code Online (Sandbox Code Playgroud)

CD.*_*D.. 5

使用slice得到一个数组,如下所示:

var links = Array.prototype.slice.call(document.querySelectorAll("a"));
var links_array = links.map(function(elem){ return elem.getAttribute("href"); });
Run Code Online (Sandbox Code Playgroud)

至于更新的问题:

var links = document.querySelectorAll("a");

function get_hrefs(links){
    links = Array.prototype.slice.call(links);

    return links.map(function(elem){ return elem.getAttribute("href"); });;
}

get_hrefs(links);
Run Code Online (Sandbox Code Playgroud)