想问一下这种写法是表示什么?tabs.filter(tab=>tab.name!==targetName)一般func=x=>x*x;表示的是x参数,returnx*x但是没有理解tab=>tab.name!==targetName,是表示条件判断tab.name!==targetName得到布尔值,还是什么
2 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
筛选出tabs中每一项的name值不等于targetName的项并返回一个新的数组举个栗子:arr=[1,2,3,4,5]arr.filter(i=>i!=1)//[2,3,4,5]更新:filter是已经封装好的方法,使用的时候只需要提供相应的参数就好了,大致的实现原理如下Array.prototype.filter=function(fn){if(typeoffn!=="function"){thrownewTypeError(`${fn}isnotafunction`);}letnewArr=[];for(leti=0;ifn(this[i])&&newArr.push(this[i]); }returnnewArr;}letarr=[1,2,3,4,5];letarr2=arr.filter(function(item){returnitem!=1})console.log(arr2)//[2,3,4,5]
添加回答
举报
0/150
提交
取消