Создать объект json в AngularJS

0

Я пытаюсь создать объект 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. Я бы очень признателен вам за вашу помощь.

Теги:

3 ответа

0
Лучший ответ

Вместо этого:

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

сделайте следующее:

var tmpObj = {};
tmpObj[dCol] = dRow;
$scope.fileContents.push(tmpObj);
  • 0
    Это сработало! Спасибо!!
0

Вы немного смущены различиями между переменными и свойствами объекта, в вашем примере вы добавляете свойство с именем dCol к объекту, вложенному в fileContents...

кстати, если переменная dCol является строкой, вы можете сделать что-то вроде этого:

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

если переменная dCol не является строкой, вы можете подумать о ее добавлении к объекту:

fileContents.push({ "dCol": dCol, "dRow": dRow });
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 в качестве ключа?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню