我試圖做一個對象的副本,只包含不是對象的屬性。但是子對象會與它一起被複制。如何過濾所有屬性爲對象的對象?
var testObject = {
stringProperty: "hi",
intProperty: 4,
objectProperty: {},
nullProperty: null
};
console.log(removeChildObjects(testObject));
function removeChildObjects(object) {
var keys = Object.keys(object);
var newObject = {};
keys.forEach(function(key) {
console.log(key, object[key], typeof object[key]);
if (typeof object[key] != "object") {
newObject[key] = object[key];
}
});
return object;
}
而且檢查出來這裏https://jsfiddle.net/uss94sc3/1/
請注意,數組是對象,你也想刪除它們嗎? – Barmar
您是否使用調試器跟蹤了您的程序?特別注意'return'行。 – 2016-04-29 01:28:42