var arr = [0,1,2]; arr[10]=10; arr.filter(function(x){ return x===undefined})
题目中只给arr设置了[0,1,2],然后设置arr[10]=10,此时的arr应该是等于[0,1,2,undefined*7,10],然后对这个数组进行过滤操作,会返回等于undefined的项,即返回的应该是[undefined*7]。但是实际的操作结果都是空函数[],然后在filter内部输出x,即
var arr = [0,1,2]; arr[10]=10; arr.filter(function(x){ console.log(x); return x===undefined})
发现也只会输出0,1,2,10。
看来MDN上面也没有关于这个的解释,所以希望大神能帮忙解答一下,你们将拯救一颗受伤的心灵于水生火热之中,非常感谢大家。
至尊宝的传说
相关分类