如何创建数组对象

时间:2019-04-04 16:54:46

标签: angular

在下面的代码中,如果我想为"e"添加一个占位符,如何在打字稿中做到这一点。我需要检查该占位符是否具有"e",如果没有,我需要在下面添加"e":"300"。以下PlaceHolderValues来自JSON对象。

"placeHolderValues": {
      "a": "EUR",
      "b": "150M",
      "c": "EUR",
      "d": "150M"
    }

3 个答案:

答案 0 :(得分:0)

您可以使用以下代码:

var placeHolderValues = { "a": "EUR", "b": "150M", "c": "EUR", "d": "150M" }
var checkIfeExists = Object.keys(placeHolderValues).find(p =>p == "e");

if(typeof checkIfeExists === "undefined")
{
    placeHolderValues["e"]="300"
}
console.log(placeHolderValues)

首先,检查placeHolderValues是否包含e。 如果checkIfeExists不存在,请添加新的密钥“ e”并值“ 300”

答案 1 :(得分:0)

我只用if condition写了一个简单的typescript代码。试试这个,希望对您有所帮助。谢谢

placeHolderValues: object = {
  "a": "EUR",
  "b": "150M",
  "c": "EUR",
  "d": "150M"
};

if(typeof this.placeHolderValues['e'] === 'undefined') {
  this.placeHolderValues['e'] = 300;
}

答案 2 :(得分:0)

您可以使用Object.assign()将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

这意味着原始对象上不可用的所有内容都将添加到新返回的对象中,并且任何现有属性将被更新。

var placeHolderValues = { "a": "EUR", "b": "150M", "c": "EUR", "d": "150M" }

placeHolderValues = Object.assign(placeHolderValues, {"e":"300"}) ;

console.log(placeHolderValues);