求助一道简单的js题,有没有大佬求助,帮帮忙

农村落魄小青年 2019-07-17 12:35:01
有一组json数据,现在只要每个商品名称后面的规格,该怎么处理,比如 "商品名称": "美迪惠尔胶原蛋白面膜24ml", 只要后面的24ml,

尊尼获加威士忌黑牌12年700ml 只要后面的700ml 和180g*12 这样子的 然后可以分别打印出这些规格, 以此类推, 求助 高分求助,




var data=[{
"商品名称": "美迪惠尔胶原蛋白面膜24ml",
"单位": "盒",
"分类名称": "女士脸部保养品/女士护理水",
"产地": "",
"现库存单价": "6.9"
}, {
"商品名称": "尊尼获加威士忌红牌700ml",
"单位": "瓶",
"分类名称": "威士忌",
"产地": "",
"现库存单价": "95"
}, {
"商品名称": "尊尼获加威士忌黑牌12年700ml",
"单位": "瓶",
"分类名称": "威士忌",
"产地": "",
"现库存单价": "95"
}, {
"商品名称": "葡萄卷蛋糕;80克/只",
"单位": "只",
"分类名称": "面包",
"现库存单价": "3.8"
}, {
"商品名称": "辫子面包;80克/包",
"单位": "只",
"分类名称": "面包",
"产地": "苏州",
"现库存单价": "3.23"
}, {
"商品名称": "天润风味发酵乳-百果香了180g*12",
"单位": "只",
"分类名称": "面包",
"现库存单价": "3.8"
}];
...全文
251 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cn00439805 2019-07-18
  • 打赏
  • 举报
回复
var data = [{
"商品名称": "美迪惠尔胶原蛋白面膜24ml",
"单位": "盒",
"分类名称": "女士脸部保养品/女士护理水",
"产地": "",
"现库存单价": "6.9"
}, {
"商品名称": "尊尼获加威士忌红牌700ml",
"单位": "瓶",
"分类名称": "威士忌",
"产地": "",
"现库存单价": "95"
}, {
"商品名称": "尊尼获加威士忌黑牌12年700ml",
"单位": "瓶",
"分类名称": "威士忌",
"产地": "",
"现库存单价": "95"
}, {
"商品名称": "葡萄卷蛋糕;80克/只",
"单位": "只",
"分类名称": "面包",
"现库存单价": "3.8"
}, {
"商品名称": "辫子面包;80克/包",
"单位": "只",
"分类名称": "面包",
"产地": "苏州",
"现库存单价": "3.23"
}, {
"商品名称": "天润风味发酵乳-百果香了180g*12",
"单位": "只",
"分类名称": "面包",
"现库存单价": "3.8"
}];


data.forEach(item => item["商品名称"] = item["商品名称"].replace(/.*?(\d+[^\d]*?[\/*].*?)$/,"$1").replace(/.*?(\d+[^\d]+)$/,"$1"))
console.log(JSON.stringify(data,null,4))
cn00439805 2019-07-17
  • 打赏
  • 举报
回复

var data = [{
    "商品名称": "美迪惠尔胶原蛋白面膜24ml",
    "单位": "盒",
    "分类名称": "女士脸部保养品/女士护理水",
    "产地": "",
    "现库存单价": "6.9"
}, {
    "商品名称": "尊尼获加威士忌红牌700ml",
    "单位": "瓶",
    "分类名称": "威士忌",
    "产地": "",
    "现库存单价": "95"
}, {
    "商品名称": "尊尼获加威士忌黑牌12年700ml",
    "单位": "瓶",
    "分类名称": "威士忌",
    "产地": "",
    "现库存单价": "95"
}, {
    "商品名称": "葡萄卷蛋糕;80克/只",
    "单位": "只",
    "分类名称": "面包",
    "现库存单价": "3.8"
}, {
    "商品名称": "辫子面包;80克/包",
    "单位": "只",
    "分类名称": "面包",
    "产地": "苏州",
    "现库存单价": "3.23"
}, {
    "商品名称": "天润风味发酵乳-百果香了180g*12",
    "单位": "只",
    "分类名称": "面包",
    "现库存单价": "3.8"
}];
data.forEach(item => item["商品名称"] = item["商品名称"].replace(/.*?(\d+.*?)[\/*].*?$/, "$1").replace(/.*?(\d+[^\d]+)$/, "$1"))
console.log(JSON.stringify(data, null, 4))
scscms太阳光 2019-07-17
  • 打赏
  • 举报
回复
"商品名称": "180g", 的结果不对!
data.forEach(item => item["商品名称"] = item["商品名称"].replace(/.+?(\d+[\w*]+)$/, '$1').replace(/^.+;/,''))
console.log(JSON.stringify(data, null, 4))
结果如下:
[
    {
        "商品名称": "24ml",
        "单位": "盒",
        "分类名称": "女士脸部保养品/女士护理水",
        "产地": "",
        "现库存单价": "6.9"
    },
    {
        "商品名称": "700ml",
        "单位": "瓶",
        "分类名称": "威士忌",
        "产地": "",
        "现库存单价": "95"
    },
    {
        "商品名称": "700ml",
        "单位": "瓶",
        "分类名称": "威士忌",
        "产地": "",
        "现库存单价": "95"
    },
    {
        "商品名称": "80克/只",
        "单位": "只",
        "分类名称": "面包",
        "现库存单价": "3.8"
    },
    {
        "商品名称": "80克/包",
        "单位": "只",
        "分类名称": "面包",
        "产地": "苏州",
        "现库存单价": "3.23"
    },
    {
        "商品名称": "180g*12",
        "单位": "只",
        "分类名称": "面包",
        "现库存单价": "3.8"
    }
]
潇湘忆梦 2019-07-17
  • 打赏
  • 举报
回复
引用 1 楼 cn00439805 的回复:

var data = [{
    "商品名称": "美迪惠尔胶原蛋白面膜24ml",
    "单位": "盒",
    "分类名称": "女士脸部保养品/女士护理水",
    "产地": "",
    "现库存单价": "6.9"
}, {
    "商品名称": "尊尼获加威士忌红牌700ml",
    "单位": "瓶",
    "分类名称": "威士忌",
    "产地": "",
    "现库存单价": "95"
}, {
    "商品名称": "尊尼获加威士忌黑牌12年700ml",
    "单位": "瓶",
    "分类名称": "威士忌",
    "产地": "",
    "现库存单价": "95"
}, {
    "商品名称": "葡萄卷蛋糕;80克/只",
    "单位": "只",
    "分类名称": "面包",
    "现库存单价": "3.8"
}, {
    "商品名称": "辫子面包;80克/包",
    "单位": "只",
    "分类名称": "面包",
    "产地": "苏州",
    "现库存单价": "3.23"
}, {
    "商品名称": "天润风味发酵乳-百果香了180g*12",
    "单位": "只",
    "分类名称": "面包",
    "现库存单价": "3.8"
}];
data.forEach(item => item["商品名称"] = item["商品名称"].replace(/.*?(\d+.*?)[\/*].*?$/, "$1").replace(/.*?(\d+[^\d]+)$/, "$1"))
console.log(JSON.stringify(data, null, 4))
你的正则真牛,我试了下,没问题的

for (var o in data) {
            var cdity = data[o].商品名称;
            var cutD = cdity.replace(/.*?(\d+.*?)[\/*].*?$/, "$1").replace(/.*?(\d+[^\d]+)$/, "$1");
            alert(cutD)
        }

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧