【发布时间】:2019-03-06 13:44:53
【问题描述】:
我正在尝试编写一个逻辑来修改包含列表的数组 的对象。例如:
[
{
"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"
}
我希望 ITEM 名称显示在上面给出的对象之前。 我的逻辑如下:
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]
请告诉我如何阻止对象转换为字符串。
【问题讨论】:
-
这个:
newItem = item.ITEM + ':' + {item};是关键问题。你不能像那样组合对象。 -
newItem = {[item.ITEM]: JSON.stringify(item)}
标签: javascript string object