字符串怎么变成指定格式的数组?

当前页面勾选后会输出结果,例如:

['SC5753-大亚圣象家居股份有限公司', 'SC3625-金海宏业沥青有限公司', 'SC3685-扬中市正大物资有限公司']

img

把这个结果改成指定的格式的数组。减号前面的是fid,后面的是name

"list": [
            {
                "fid": "SC2021060313324115FE123D",
                "name": "XXXX有限公司"
            }
        ],

要怎么写?


['SC5753-大亚圣象家居股份有限公司', 'SC3625-金海宏业沥青有限公司', 'SC3685-扬中市正大物资有限公司'].map(item => {
    let [fid, name] = item.split('-')
    return {fid, name}
})

这样应该可以


a = ['SC5753-大亚圣象家居股份有限公司', 'SC3625-金海宏业沥青有限公司', 'SC3685-扬中市正大物资有限公司']
res = {"list": a.map((item, index) => { s = item.split('-'); return {'fid': s[0], 'name': s[1]} })}


 const str = "{'SC5753-大亚圣象家居股份有限公司','SC3625-金海宏业沥青有限公司','SC3685-扬中市正大物资有限公司'}";
 console.log({ list: str.slice(1, str.length - 1).split(",").map((item) => { return item.slice(1, item.length - 1).split("-") }).map((item) => { return { fid: item[0], name: item[1] } }) });

img

什么你修改问题了,一开始不是说是一个字符串吗?
那好吧,我再根据这个写一个吧。

const arr = ['SC5753-大亚圣象家居股份有限公司', 'SC3625-金海宏业沥青有限公司', 'SC3685-扬中市正大物资有限公司'];
console.log({
    list: arr.map(item => {
        return item.split("-")
    }).map(item2 => {
        return { fid: item2[0], name: item2[1] }
    })
})

img

楼上们已经说了,我就不说了,都是一样的,通过‘-’符号拆分就可以