2015-10-29 46 views
0

JSON對象,我想創造AngularJS JSON對象 我的代碼如下創建AngularJS

for(i=0;i<5;i++){ 

    var dCol = file.columns[i].value; 
     var dRow = file.rows[i].value; 
     $scope.fileContents.push({ dCol: dRow }); 

} 

但dCol的值沒有反映。它將dCol作爲字符串「dCol」。

有人可以幫助我。我對angularJS相當陌生。我將衷心感謝您的幫助。

回答

0

而不是做這個的:

$scope.fileContents.push({ dCol: dRow }); 

請這樣做:

var tmpObj = {}; 
tmpObj[dCol] = dRow; 
$scope.fileContents.push(tmpObj); 
+0

工作!謝謝!! –

0

那是因爲dCol是一個關鍵字,並且一個關鍵字總是JS對象中的一個字符串;

試試這個:

for(i=0;i<5;i++){ 
    var obj ={}; 
    var dCol = file.columns[i].value; 
    var dRow = file.rows[i].value; 

    obj[dCol]=dRow; 

    $scope.fileContents.push(obj); 

} 

,如果你喜歡一個更綜合的辦法,這應該工作到:

$scope.fileContents.push({ [dCol]: dRow }); 
+0

在這種情況下,如何使用file.columns [i] .value中的值作爲關鍵字? –

0

是有啊有點迷茫與變量和對象屬性之間的差異, 在你的例子要添加一個名爲dCol對象屬性推入fileContents ...

的方式, 如果dCol變量是你可以做這樣的事情的字符串:

var item = {}; item[dcol] = dRow; fileContents.push(item); 

如果變量dCol不是字符串,你可以考慮將其添加到該對象:

fileContents.push({ "dCol": dCol, "dRow": dRow });