使用angular.forEach()的键动态创建角度对象

时间:2015-07-11 13:32:55

标签: javascript angularjs

    if ($scope.data) {
        $formData = [];
        angular.forEach($scope.data, function(value, key){

            console.log(key);  //  o/p: 'fruitname'
            var k = key;
            var value = value || 'Not Available';
            console.log(value); // o/p: 'apple'

            var parts = {k : value};
            console.log(parts);  // o/p: Object {k: "apple"}
            $formData.push(parts);
        });
    }

为什么我在创建零件对象时无法填充键。或者我怎么能这样做。

2 个答案:

答案 0 :(得分:4)

您需要做的是parts[k] = value; 实际上当你分配parts = {k:value}; ,这就是这样的:

parts["k"] = value;

因此,您看到的不是取k的值,而是将k作为字符串,并将此字符串的值指定为关键字段。

答案 1 :(得分:2)

当我尝试这样做时,它会起作用。

if ($scope.data) {
    $formData = [];
    angular.forEach($scope.data, function(value, key){

        console.log(key);  //  o/p: 'fruitname'
        var value = value || 'Not Available';
        console.log(value); // o/p: 'apple'

        var parts = {};
        parts[key] = value;
        console.log(parts);  // o/p: Object {"fruitname": "apple"}
        $formData.push(parts);
    });
}