有人可以解释如何遍历对象的所有键值对吗?我是否需要将字符串对添加到新对象中,然后返回该对象?到目前为止,我有以下内容,适用于嵌套对象,但它只会返回第一对。
var objectify = function (obj, stringifyJSON) {
for (var key in obj) {
if (obj.hasOwnProperty) {
return (stringifyJSON(key) + ":" + stringifyJSON(obj[key]));
}
事实上,对于像 {"a": 1, "b": 2, "c":3 } 这样的对象,我只返回 {"a": 1}。
我还尝试了以下方法:
var objectify = function (obj, stringify) {
var holder = {};
for (var key in obj) {
if (obj.hasOwnProperty) {
holder[stringifyJSON(key)] = stringifyJSON(obj[key]);
}
}
return ("" + holder + "");
};
它只返回 {[object Object]}。我试过用引号分配键和值,而不是在键和值上调用 stringify,但它们都返回 {[object Object]} 。
这是调用 objectify 的代码段:
else if (typeof obj === "object" && obj !== null) {
return ("{" + objectify(obj, stringifyJSON) + "}");
}