是否可以替换数组中除一个以外的所有字符串

时间:2019-07-17 18:13:51

标签: javascript node.js

我的列表是这样的:[ '030', '040', '050', '060', '070', '080', '090', '100', '110' ]

我想知道是否有可能用'100'中的一个代替所有零,在那儿我只想替换最后一个,所以将是'10'。

let sizeCodes = body['items'][0]['product']['possibilities']['size']
let codeList = []
sizeCodes.forEach(sizeCode => {
    sizeC = sizeCode['code']
    codeList.push(sizeC)
})
codeList.forEach(code => {
    let variants = body['items'][0]['product']['variantOptions']['variants'][`${code}`]['stockLevel']['stockLevel']
    log('Size: ' + code.replace(/0/g, '') + '    |    Stock: ' + variants, 'info')
})

这是我尝试过的方法,但显然可以替换所有零。另外,我也不想在实际数组中这样做,'030'代表3号大小,'040'代表4号大小,依此类推。我只是想通过输出来使它看起来更整洁。

2 个答案:

答案 0 :(得分:4)

像您想要去除任何前导零并将所有值除以十的声音。

如果是这样:

const codes =  [ '030', '040', '050', '060', '070', '080', '090', '100', '110' ];

const adjustedCodes = codes.map(n => (n / 10).toString());

console.log(adjustedCodes);

答案 1 :(得分:0)

改进JLRishe答案,可能是最快捷的方法

codes.map(x=>''+x/10);

let codes = [ '030', '040', '050', '060', '070', '080', '090', '100', '110' ]

let r = codes.map(x=>''+x/10);

console.log(r);