更改数组中的值 (javascript)

Change values in an array (javascript)

我在我们的 CRM 系统中有一个字段,订单号按以下方式列出:

544,543,53

注意:这是一个示例,这些数字的数量和大小可能会有所不同。

如何将这些数字更改为:

HPO0000000544,HPO0000000543,HPO0000000044

请注意,HPO 代码中 0 的数量取决于订单号的大小。 HPO 后应始终跟有 10 个数字(0s + 订单号)。

我已尝试寻找解决方案,但一无所获。不幸的是,我对 javascript 了解不够,无法自己编写代码。

您需要使用 padStart:

映射数组(将数组的每个值映射到另一个值)

function toHPO(number) {
    return `HPO${number.toString().padStart(10, '0')}`;
}
const arr = [544,543,53];
console.log(arr.map(toHPO));

请注意,您可能需要添加 polyfill depending on which browsers you target

跑道计算字段与ECMAscript 5兼容,padStart()是ES 2017引入的,所以你不能使用它。

var
arr = [544,543,53],
pad = "000000000"; // 9 zeros
arr.map(function (item){return "HPO" + (pad + item).substr(-10)}).join()
// HPO0000000544,HPO0000000543,HPO0000000053