JS 中数组some方法的实现
大致是下面这样,还有在调用的时候记得 不要漏掉return关键字
,因为没有return出去,在代码中callback(array[i])
就一直是undefined
,进不去if的结构体中
,最终situation
接收到函数的值就是false
Array.prototype.mysome = function(callback){
var array = this
for(var i = 0,len = array,length;i < len;i++){
if(callback(array[i])){
return true
break
}
}
return false
}
var situation = 数组.mysome(i => {
return 想要比较式子 //return记得写
})
如果把if语句
中的true
改为array[i]
,把最后的return false
去掉,那不就是数组中的另外一个方法find
了吗😄
为什么想到要写这个函数,因为在写数组中数据的验证时,就这个函数,浪费了我一晚上的时间,虽然代码也有别的错,但就是看这个函数不爽😁,怎么我会在调用的时候最后竟然漏掉了关键字return
,导致接收到的函数的值一直是false,卡在半路,后面的就行不通了。
新手敲代码,写的过程满满的代码逻辑,感觉天衣无缝,一运行,???
真是折磨人。