如何将JavaScript对象包裹在数组方括号[]中?
解决JavaScript对象转数组后显示[object Object]的问题
正确将对象包裹为数组的方法
你不需要复杂操作,直接把对象放进方括号里就能得到目标数组:
// 修正变量名,原代码里arr其实是对象,改成obj更清晰 let obj = { 'Routing Category': 'new', TimeSlice: 'AM', Destination1: 'test', Value1: '701', Destination2: 'Test' }; let targetArr = [obj];
此时targetArr就是你想要的 [{Routing Category: 'new', ...}] 格式。
为什么会出现[object Object]
你看到的[object Object]不是数组的实际内容,而是对象调用toString()方法后的默认返回值。当你直接在控制台打印数组(或者把数组转为字符串)时,数组里的对象会自动调用toString(),就会显示这个结果,并非数组生成失败。
查看数组实际内容的正确方式
- 直接用console.log输出:在浏览器控制台或Node.js环境中,执行
console.log(targetArr),控制台会允许你展开数组和对象,查看完整结构。 - 转为格式化JSON字符串:如果需要将数组转为可读的文本形式,用
JSON.stringify():
console.log(JSON.stringify(targetArr, null, 2));
输出结果会是格式化后的字符串,清晰展示所有键值对:
[ { "Routing Category": "new", "TimeSlice": "AM", "Destination1": "test", "Value1": "701", "Destination2": "Test" } ]
关于推入数组的方法
你尝试的推入新数组的方法本身是有效的,只是查看方式有误:
let obj = { 'Routing Category': 'new', TimeSlice: 'AM', Destination1: 'test', Value1: '701', Destination2: 'Test' }; let newArr = []; newArr.push(obj); // newArr已经是目标数组,用console.log(newArr)就能看到实际内容
内容的提问来源于stack exchange,提问作者Naina
相关产品推荐
相关产品推荐

