Nodejs中听说最近left-pad很火

发布于 1周前 作者 itying888 来自 nodejs/Nestjs

Nodejs中听说最近left-pad很火

(手动滑稽)

left-pads

Usage

CoffeeScript

leftpad = require './left-pad'

leftpad ‘foo’, 5

=> " foo"

leftpad ‘foobar’, 6

=> “foobar”

leftpad 1, 2, 0

=> “01”

Haskell

module Main where
    import LeftPad
main :: IO ()
main = putStrLn $ leftpad "foo" 6 'f'
-- => ffffoo

Scheme

(load 'left-pad.scm')
(leftpad "foo" 6 #\f) ; => "ffffoo"

PHP

<?php
include_once 'left-pad.php';
echo leftpad("foo", 6, 'f'); // => "ffffoo"
?>

15 回复

其实这个函数正儿八经是用来做什么的?



const month = new Date().getMonth() + 1

leftPad(month, 2, 0)

具体到这种情况,我是判断小于 10 的…

我估计吐槽 left-pad 的人大部分人不知道 lodash.padStart()

我都是自己写的…也没去找好一点的实现,自己的标准也就是写出能跑的代码…

一直~
x 位插入字符+目标字符
取后 n 位~
不知道性能怎么样~

3.9 还是 padLeft 来着, 4 成了 padStart

其实这个就是用的这个函数 233

在Node.js社区中,left-pad这个库的确曾经引起过一阵热议,主要是因为其从一个简单的字符串填充功能,引发了一场关于npm(Node Package Manager)包管理和依赖的广泛讨论。

left-pad的功能非常简单,就是将一个字符串左侧填充到指定的长度。以下是其基本的实现代码:

function leftPad(str, length, padStr = ' ') {
    if (typeof str !== 'string' || typeof length !== 'number') {
        throw new TypeError('Expected a string and a number');
    }
    if (str.length >= length) {
        return str;
    }
    return padStr.repeat(length - str.length) + str;
}

// 示例使用
console.log(leftPad('5', 10));         // 输出: "       5"
console.log(leftPad('hello', 10, '*')); // 输出: "*****hello"

这个库之所以引起轰动,主要是因为其作者突然删除了该库,导致许多依赖于它的项目瞬间失效。这引发了开发者们对于npm包依赖稳定性的担忧,以及对于小型库和“微库”(micro-libraries)价值的重新评估。

此外,这次事件也促使社区对于如何更好地管理和维护npm包进行了深入的讨论,包括包的权限控制、备份方案以及依赖的合理性等。

总的来说,left-pad事件虽然是一个小插曲,但它对于Node.js社区的影响是深远的,促使我们更加关注代码的健壮性和依赖的可靠性。

回到顶部