gpt4 book ai didi

javascript - 根据request.body创建JSON对象

转载 作者:行者123 更新时间:2023-11-30 09:35:09 24 4
gpt4 key购买 nike

使用 NodeJs + Express 创建 REST API。一切正常,但我不明白如何遍历 request.body 并检查其字段中的 undefinedempty 值并分配只有有效数据的新对象。

request.body 看起来像:

{ 
key: 'value',
otherKey: 'otherValue',
oneMoreKey: '',
oneMoreKey2: undefined,
oneMoreKey3: null
}

在那一端我的对象应该是这样的:

let contactData = Object.assign({},{
'key': 'value',
'otherKey': 'otherValue'
})

寻求您的建议和帮助

最佳答案

JavaScript

function getCleanObject(oldObject) {
var newObject = {};
for (var property in oldObject) {
var value = oldObject[property];
if (value) newObject[property] = value;
}
}

解释

您可以从创建一个新的干净的 Object

开始
var newObject = {}; // same as new Object();

然后使用 for 循环 遍历对象的所有属性。

for (var property in oldObject)

然后获取该属性的值

var value = oldObject[property];

如果值为 Troothy 将属性添加到新的 Object

 if (value) newObject[property] = value;

请注意,这样 false 值将被拒绝。要将其复制到新的 Object,您应该将 if 语句替换为

if(value || value === false)

此外,如果您正在复制的 Objectinherits 来自其他 Object,则它也可能具有额外的属性,并且如果您不希望它们被包含在内,您应该将 if 语句更改为

if(value && oldObject.hasOwnProperty(value))

记住 for(var item in object) != for(var item of list)

in 用于遍历对象的属性,而 of 用于遍历 iteratable(即列表)。此外,所有浏览器都支持 in,而 internet explorer 不支持 of

关于javascript - 根据request.body创建JSON对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43982462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com