zl程序教程

您现在的位置是:首页 >  其它

当前栏目

_.compact(array)

Array _.
2023-09-11 14:15:02 时间

2

_.compact(array)
compact方法创建一个去除了所有假值的新数组,假值包括:0,false,null,undefined,NaN,""。
参数
array (Array): 操作的数组
返回值
(Array): 返回过滤了假值后的新数组
例子
_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]

源代码:

/**
 * Creates an array with all falsey values removed. The values `false`, `null`,
 * `0`, `""`, `undefined`, and `NaN` are falsey.
 *
 * @since 0.1.0
 * @category Array
 * @param {Array} array The array to compact.
 * @returns {Array} Returns the new array of filtered values.
 * @example
 *
 * compact([0, 1, false, 2, '', 3])
 * // => [1, 2, 3]
 */
//compact方法创建一个去除了所有假值的新数组
function compact(array) {
  let resIndex = 0//结果数组索引
  const result = []//结果数组

  if (array == null) {//如果参数array为空,返回空数组
    return result
  }

  for (const value of array) {//循环array
    if (value) {
      result[resIndex++] = value//如果当前值为真,就存入结果数组
    }
  }
  return result
}

export default compact