一天一個仿lodash函數實現-fromPairs、indexOf、initial

fromPairs

它是toPairs的反轉,不過現在是數組函數系列還沒走到toPairs。
它接收一個二維數組,元素是一個兩元素的數組,一個是key,一個是value
所以實現很簡單

function fromPairs(arr){
  const map = {};
  arr.forEach(item => {
    map[item[0]] = item[1];
  })
  return map;
}

indexOf

查找數組中匹配元素的索引值,看案例,暫只考慮基本數據類型的實現,那實現也簡單。

function indexOf(arr, value, fromIndex=0){
  let result = -1;
  for(let i=fromIndex;i<arr.length;i++) {
    // 暫時只考慮基本類型比較
    if(arr[i]===value) {
      result = i;
      break;
    }
  }
  return result;
}

initial

第一次瞭解到這個函數,就是將給定的數組返回(除了最後一位)

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