更改数组中的值 (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
我在我们的 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