【问题标题】:Add new value into json将新值添加到 json
【发布时间】:2018-02-13 17:08:39
【问题描述】:

我正在构建一个 excel 上传器应用程序。现在,我可以从 excel 文件中获取数据并将其发送到 API 以存储信息。

但是我需要别的东西,就是为每个值分配excel的id,我先保存后得到。

这是我在存储之前获取 excel 数据的方式:

$scope.loadWorksheet = function(e){

        var file = e.target.result;
        var workbook = XLSX.read(file, { type: "binary" });


        var sheetName = workbook.SheetNames[0];
        $scope.sheet = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName]);

       console.log($scope.sheet);

        $scope.$apply();

      };

假设我得到了下一个数组:

[{Name: "Chuck", Age: "30"},
{Name: "Marcus", Age: "18"},
{Name: "Shelly", Age: "29"}]

如何向每条记录添加文档的 ID?

例如,保存文档后,我得到的响应是 id:

$scope.IdDocument = 15;

我需要把它放在每条记录上,像这样:

[{Name: "Chuck", Age: "30", DocumentId: "15"},
{Name: "Marcus", Age: "18" DocumentId: "15"},
{Name: "Shelly", Age: "29" DocumentId: "15"}]

有办法做到这一点吗?希望你能帮助我。

我正在使用 AngularJs 和 Javascript。

【问题讨论】:

标签: javascript angularjs json excel


【解决方案1】:

你需要forEach,使用angularjs你可以使用angular.forEach

演示

var array = [{Name: "Chuck", Age: "30"},
{Name: "Marcus", Age: "18"},
{Name: "Shelly", Age: "29"}];

array.forEach(function(obj) { obj.DocumentId = "15"; });

console.log(array);

【讨论】:

    【解决方案2】:

    使用map函数。它将返回更新后的数组

    var oldArray = [{
        Name: "Chuck",
        Age: "30"
      },
      {
        Name: "Marcus",
        Age: "18"
      },
      {
        Name: "Shelly",
        Age: "29"
      }
    ];
    
    var newArray = oldArray.map(function(item) {
      item.DocumentId = '15';
      return item;
    
    })
    
    console.log(newArray)

    【讨论】:

      【解决方案3】:

      您可以遍历数组并按如下方式添加字段

      var people = [{Name: "Chuck", Age: "30"},
                        {Name: "Marcus", Age: "18"},
                        {Name: "Shelly", Age: "29"}
                       ];
          
          people.forEach(p => p.DocumentId = "15");
          console.log(people)

      【讨论】:

        【解决方案4】:

        使用 for 循环遍历数组对象

        var people = [{Name: "Chuck", Age: "30"},
                     {Name: "Marcus", Age: "18"},
                     {Name: "Shelly", Age: "29"}];
        
        
         for(var i=0 ; i<people.length;i++){
              people[i].age = "10";
         }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-11-21
          • 1970-01-01
          • 2017-10-17
          • 2017-11-10
          • 2023-03-29
          • 1970-01-01
          • 2018-02-08
          • 2021-12-26
          相关资源
          最近更新 更多