jingchaocheng / Lodash

Lodash 源码解析
MIT License
0 stars 1 forks source link

take #38

Open jingchaocheng opened 4 years ago

jingchaocheng commented 4 years ago

创建一个数组切片,从 array 数组的起始元素开始提取 n 个元素

import slice from './slice.js'

/**
 * Creates a slice of `array` with `n` elements taken from the beginning.
 *
 * @since 0.1.0
 * @category Array
 * @param {Array} array The array to query.
 * @param {number} [n=1] The number of elements to take.
 * @returns {Array} Returns the slice of `array`.
 * @example
 *
 * take([1, 2, 3])
 * // => [1]
 *
 * take([1, 2, 3], 2)
 * // => [1, 2]
 *
 * take([1, 2, 3], 5)
 * // => [1, 2, 3]
 *
 * take([1, 2, 3], 0)
 * // => []
 */
function take(array, n=1) {
  // 判断 array 如果是 null 或 undefined 
  // arrary.length 等于 0 
  // 返回 []
  if (!(array != null && array.length)) {
    return []
  }

  // slice 返回切片数组
  return slice(array, 0, n < 0 ? 0 : n)
}

export default take