这是我的请求正文:
{
"data": [
{"firstName": "a"}, {"lastName": "b"}
]
}
这是我的脚本:
var body = request.body;
for(var i = 0;i < body.data.length;i++){
var obj = body.data[i];
keyes.push(Object.keys(obj));
console.log(keyes);
}
我正在尝试将响应数据从循环推送到数组,以及为什么我得到这样的响应:
[ [ 'firstName' ] ]
[ [ 'firstName' ], [ 'lastName' ] ]
我想要这样的响应:
[ [ 'firstName' ], [ 'lastName' ] ]
谢谢
答案 0 :(得分:0)
在您的情况下,似乎不需要每个步骤都需要最终输出。 为此,您需要在循环外部打印console.log(keyes)。
谢谢
阿什什
答案 1 :(得分:0)
尝试:
const keyes = request.body.data.map(Object.keys);
它应该给您这个结果[ [ 'firstName' ], [ 'lastName' ] ]
实际上,您的代码执行的操作完全相同。 for循环完成后,您的
[ [ 'firstName' ], [ 'lastName' ] ]
属性中就有keyes
。要进行验证-您可以将console.log(keyes)
语句移到循环之外。您在
keyes
变量keyes => keys
中有错字
答案 2 :(得分:0)
您的代码与要求的代码完全相同,您只需要将console.log放在正确的位置即可。像这样
for(var i = 0;i < body.data.length;i++){
var obj = body.data[i];
keyes.push(Object.keys(obj));
}
console.log(keyes)