首页 > 解决方案 > 如何防止对象在将两者相加时转换为字符串?

问题描述

我正在尝试编写一个逻辑来修改包含对象列表的数组。前任:

    [
        {
            "S.N.": "1",
            "ITEM": "CIGARETTES",
            " QUANTITY SOLD ": " 3,603,221 ",
            "UNIT OF MEASURE": "CARTONS"
        },
        {
            "S.N.": "2",
            "ITEM": "LIQUOR",
            " QUANTITY SOLD ": " 5,680,586 ",
            "UNIT OF MEASURE": "BOTTLES"
        },
        {
            "S.N.": "3",
            "ITEM": "BEER",
            " QUANTITY SOLD ": " 7,581,446 ",
            "UNIT OF MEASURE": "CANS"
        }]

这样我就会得到如下的最终结果:

    "CIGARETTES": {
            "S.N.": "1",
            "ITEM": "CIGARETTES",
            "QUANTITY": " 3,603,221 ",
            "UNIT": "CARTONS"
        },
        "LIQUOR": {
            "S.N.": "2",
            "ITEM": "LIQUOR",
            "QUANTITY": " 5,680,586 ",
            "UNIT": "BOTTLES"
        },
        "BEER": {
            "S.N.": "3",
            "ITEM": "BEER",
            "QUANTITY": "7,581,446 ",
            "UNIT": "CANS"
        }

我希望项目名称显示在上面给出的对象之前。我的逻辑如下:

    var callMe = function(){
    var newJson = json.map(function(item){
        var newItem = JSON.stringify(JSON.parse(item));
        newItem = item.ITEM + ':' + {item};
        return console.log(newItem)
    })
}

当我安慰它时,我收到以下信息:

 CIGARETTES:[object Object]
 LIQUOR:[object Object]
 BEER:[object Object]
 GOLD:[object Object]
 WATCHES:[object Object]

请告诉我如何阻止对象转换为字符串。

标签: javascriptstringobject

解决方案


您可以reduce用于转换

const   x = [
        {
            "S.N.": "1",
            "ITEM": "CIGARETTES",
            " QUANTITY SOLD ": " 3,603,221 ",
            "UNIT OF MEASURE": "CARTONS"
        },
        {
            "S.N.": "2",
            "ITEM": "LIQUOR",
            " QUANTITY SOLD ": " 5,680,586 ",
            "UNIT OF MEASURE": "BOTTLES"
        },
        {
            "S.N.": "3",
            "ITEM": "BEER",
            " QUANTITY SOLD ": " 7,581,446 ",
    }];
    
    const y = x.reduce(function(acc, item){
	acc[item.ITEM]= item;
	return acc;
}, {})

console.log(y);


推荐阅读