【发布时间】:2016-03-26 08:20:51
【问题描述】:
与this相关的问题,我想试试这个
var arr = [0,1,2,true,4,{"abc":123},6,7,{"def":456},9,[10]];
arr.filter(Object.hasOwnProperty,"abc");//outputs [0, 1, 2]
arr.filter(Object.hasOwnProperty,"2222222") //[0, 1, 2, 4, 6]
有谁知道为什么过滤器返回这些值? Spec of filter 和 MDN doc 也没有明确说明如何使用 filter 的第二个参数。
【问题讨论】:
-
@dear-downvoters,请告诉我如何改进这个问题。
-
规范在标题中说
Array.prototype.filter ( callbackfn [ , thisArg ] )和“如果提供了thisArg参数,它将用作callbackfn的每次调用的this 值。” 在后面的段落中——还有什么比这更清楚的呢? -
@Tomalak 好吧,我不清楚,请原谅我的无知。否则我为什么要问一个问题?说
it will be used as this value for each invocation不完全是2+2=4。 -
@Tomalak 也许您可以在链接的问题中提供见解?请照亮
-
@gurvinder372 为时已晚,但我觉得有必要添加一个答案。
标签: javascript arrays filter hasownproperty