使用Array.filter
似乎返回了我传入的相同数组。
如何返回图像src字符串数组?而不是图像元素数组?
var collection = document.images;
var arr = [].slice.call(collection);
var filtered = arr.filter(function(x) { return x.src });
变量filtered
是图像元素的数组,而不是图像src字符串:/
答案 0 :(得分:1)
尝试map
map()方法创建一个新数组,其中包含调用a的结果 为此数组中的每个元素提供了函数。
var collection = document.images;
var arr = [].slice.call(collection);
var srcArr = arr.map(function(x) { return x.src });
filter()方法创建一个包含所有传递元素的新数组 由提供的函数实现的测试。
在你的情况下,filter函数总是返回url,我们需要一个在filter函数中返回truthy或false值的表达式。