js白シミュレーションシリーズ:アナログ配列fill,find,findIndex

922 ワード

fill
            Array.prototype.myFill = function (value,start = 0,end = this.length) {
                for(let i = start; i < end; i++) {
                  this[i] = value;
                }
            }
ここで一つの発見があります.エス6のデフォルト値はthisを呼び出すことができます.本当に便利です.
find
            Array.prototype.myFind = function (fn, start = 0,end = this.length) {
                for(let i = start; i < end; i++){
                  if(fn.call(this,this[i],i,this)){
                    return this[i]
                  }
                }
            }
findIndex
            Array.prototype.myFindIndex = function (fn, start = 0,end = this.length) {
                for(let i = start; i < end; i++){
                  if(fn.call(this,this[i],i,this)){
                    return i
                  }
                }
                return -1
            }