在下面的代码中,如果我想为"e"
添加一个占位符,如何在打字稿中做到这一点。我需要检查该占位符是否具有"e"
,如果没有,我需要在下面添加"e":"300"
。以下PlaceHolderValues来自JSON对象。
"placeHolderValues": {
"a": "EUR",
"b": "150M",
"c": "EUR",
"d": "150M"
}
答案 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);