2016-09-26 77 views
-2

我有以下对象名称$ scope.parameters。当我按照下面来执行的console.log,我得到这样的结果将对象中存在的对象转换为NULL值

console.log($scope.parameters); 

结果

Object { Name: "Diana", id: 234, Size: Object, Location: Object, Details: "none" } 
Name: "Diana" 
id: 234, 
Size: Object 
Location: Object 
Details: "none" 

正如结果显示的元素大小和位置的对象,我希望它与空所取代。另外,我希望它是动态的。例如,如果上述任何元素是Object,则应该将其自动替换为null。

有人可以让我知道如何做到这一点。

+0

你能详细说明为什么你会想要这个吗? – eavidan

+0

我将空值传递给后端。如果我弹出窗口,然后通过,那些空值被转换为对象,我得到一个错误 –

+0

什么在地球上做*“弹出窗口”*是什么意思?请花一些时间来回顾[问] – charlietfl

回答

1

测试与它的类型对象的每个关键,如果对象让它们空

if (Object.getPrototypeOf($scope.parameters.Size) === Object.prototype) { 
    // True if its object change it to null 
    $scope.parameters.Size = null; 
} else { 
    // do nothing 
} 

做一个函数,该函数的参数来测试它,并返回。

0
angular.forEach($scope.parameters, function(value, key) { 

    if(typeof value === "object"){ 
    console.log(key); 
     $scope.parameters[key] = null; 
    } 
}); 
+0

请提供一些额外的细节,而不是片段只为了提高答案的质量。 – albert