javascript - 如何防止对象在将两者相加时转换为字符串?
问题描述
我正在尝试编写一个逻辑来修改包含对象列表的数组。前任:
[
{
"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]
请告诉我如何阻止对象转换为字符串。
解决方案
您可以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);
推荐阅读
- python - 从图像中删除颜色以仅保留文本
- python - python gremlin连接超时问题
- sql - 按 invoicenumber 汇总字段
- angular - 如何在 NativeScript 和 Angular 中动态设置 URL?
- python - 使用 pymysql 的 Python 无法将字段添加到 mysql 数据库中的表中
- java - Activiti为共享流程定义的实例设置tenantId
- php - 根据给定数组生成多维数组
- reactjs - 如何在按下按钮时呈现新行
- android - 如何使用 ffmpeg 用 pts gmtime 绘制文本冒号?
- java - 是否可以使用 OpenPDF 在文档上加盖电子印章?