一天一個仿lodash函數實現-fill、findIndex、first、head

把arr數組中從start到end(不包括end)用value填充

function fill(arr, value, start = 0, end = arr.length) {
  for(let i = start;i<end;i++) {
    arr[i] = value;
  }
  return arr
}

findIndex

function findIndex(arr, predicate, fromIndex=0) {
  let result = -1;
  for(let i=fromIndex;i<arr.length;i++) {
    if(predicate(arr[i])){
      result = i;
      break;
    }
  }
  return result
}

findLastIndex

function findLastIndex(arr, predicate, fromIndex=arr.length-1) {
  let result = -1;
  for(let i=fromIndex;i>=0;i--) {
    if(predicate(arr[i])){
      result = i;
      break;
    }
  }
  return result
}

返回數組第一個元素

function head(arr){
  return arr.length?arr[0]:undefined;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章