有条件地更新javascript对象
在我的Angular组件中,我定义了一个Javascript对象,例如有条件地更新javascript对象,javascript,angular,Javascript,Angular,在我的Angular组件中,我定义了一个Javascript对象,例如 myObj = { "option": ["valid"], "cities": [ "London", "Paris", "Rome" ], "routes": [{ "section": 'option1', "class": true }],
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"routes": [{
"section": 'option1',
"class": true
}],
"def": [
{
"name": "name1",
"attributes": [
"test"
]
}
]
}
现在根据一个条件,我想包括或排除“routes”部分
所以我现在就这样做
if(somecondition) {
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"routes": [{
"section": 'option1',
"class": true
}],
"def": [
{
"name": "name1",
"attributes": [
"test"
]
}
]
}
} else {
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"def": [
{
"name": "name1",
"attributes": [
"test"
]
}
]
}
}
希望检查是否有更好的方法来实现这一点,因为这是代码的重复,并且随着条件的增加,这将不再是可维护的 可以通过以下方式删除对象的属性:
delete myObj.routes;
或
这就是您要查找的吗?您可以通过以下方式删除对象的属性:
delete myObj.routes;
或
这就是您想要的吗?请尝试以下方法:
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"def": [
{
"name": "name1",
"attributes": [
"test"
]
}
]
}
if(somecondition) {
myObj.routes = [{
"section": 'option1',
"class": true
}]
}
在此之前定义对象,并根据条件添加
路由。请尝试以下操作:
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"def": [
{
"name": "name1",
"attributes": [
"test"
]
}
]
}
if(somecondition) {
myObj.routes = [{
"section": 'option1',
"class": true
}]
}
在此之前定义对象,并根据条件添加路由。您可以尝试下面的代码。在这里,若条件不满足,您可以简单地从对象中删除路由。希望能有帮助
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"routes": [{
"section": 'option1',
"class": true
}],
"def": [
{
"name": "name1",
"attributes": [
"test"
]
}
]
};
if(!somecondition) {
delete myObj.routes;
}
您可以尝试下面的代码。在这里,若条件不满足,您可以简单地从对象中删除路由。希望能有帮助
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"routes": [{
"section": 'option1',
"class": true
}],
"def": [
{
"name": "name1",
"attributes": [
"test"
]
}
]
};
if(!somecondition) {
delete myObj.routes;
}
稍后只需根据您的情况添加routes
属性即可
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"def": [{
"name": "name1",
"attributes": [
"test"
]
}]
};
if(somecondition) {
myObj.routes = [{
"section": 'option1',
"class": true
}];
}
稍后只需根据您的情况添加routes
属性即可
myObj = {
"option": ["valid"],
"cities": [
"London",
"Paris",
"Rome"
],
"def": [{
"name": "name1",
"attributes": [
"test"
]
}]
};
if(somecondition) {
myObj.routes = [{
"section": 'option1',
"class": true
}];
}