从数组中删除关键对象-Angular 5

时间:2018-08-21 10:02:35

标签: angular typescript angular5

我想知道如何使用数组创建const对象变量,在其中添加项目时,该变量不应包含索引对象。

例如

const estimateData = {
  'customerId': customerId,
  'vehicleInformation': {},
  'datalines': []
};

在这里,当我在datalines中添加项目时,它总是带有key-value对,如下所示。

  "datalines": [
    0 : {
      "lineNumber": 1,
      ...
    },
    1 : {
      "lineNumber": 2,
      ...
    }
  ]

因此,我的网络服务会返回异常,并显示类似

的错误
error: "Bad Request"
exception: "com.alldata.estimator.exceptions.BadRequestException"
message: "unknown dataline type 0"
path: "/estimator/estimates/211204"

所以我的问题是如何删除0,1索引,以便我的请求可以成功传递并可以批准数据。我试图通过push添加数据,重新分配数组,forEach循环,但是没有任何效果。

  // I am trying to add data in array by following methods, but nothing works. 
  this.selectedEstimate.datalines.forEach((lineItem: ILineItem) => {
    estimateData.datalines.push(lineItem);
  });
  // estimateData.datalines = this.selectedEstimate.datalines;

我也曾尝试从JSON解析数据,但是没有用。

请让我知道问题出在哪里,我该如何解决。预先感谢。

1 个答案:

答案 0 :(得分:1)

estimateData字符串化后再发送到服务器。

使用以下代码:-

JSON.stringify(estimateData)

const a = {
  'customerId': 1,
  'vehicleInformation': {},
  'datalines': []
};
a.datalines.push({age: 1});
a.datalines.push({age: 2});
a.datalines.push({age: 3});
a.datalines.push({age: 4});

// open browser console to check response
console.log(a);
console.log(JSON.stringify(a));

请打开浏览器控制台以查看要打印的索引。