当前位置: 首页 > 知识库问答 >
问题:

如果存在属性,如何覆盖?[副本]

祁辰阳
2023-03-14

假设我的目标如下:

let newObject = {
 foo: 'foo-value',
 bar: 'bar-value', 
 baz: 'baz-value'
};

我也有一个列表:

let list = ['foo', 'baz']

我想用一些“默认值”覆盖“foo-value”和“baz-value”(列表中出现的键的值)。所以我有:

{
 foo: 'default-value',
 bar: 'bar-value', 
 baz: 'default-value'
};

如果我有一个不同的对象,比方说

let differentObject = {
 x: 'x-value',
 y: 'y-value'
}

我不想添加任何默认值,所以spread运算符不适用于我。

共有1个答案

濮阳驰
2023-03-14

你可以这样做到

let newObject = {
 foo: 'foo-value',
 bar: 'bar-value', 
 baz: 'baz-value'
};

let list = ['foo', 'baz'];

list.forEach(item => {
  if(newObject[item])
   newObject[item] = 'Default value';
})

console.log(newObject);
 类似资料:
  • 我想覆盖我在Quarkus应用程序的配置文件中配置的属性。 我怎样才能做到这一点?

  • 问题内容: 类 两次作为两个不同的属性嵌入其中:和 在使用Persistence生成数据库架构时,应该分别提供两列。而是抛出一个异常: org.hibernate.MappingException:实体映射中的重复列:事件列:代码 如何覆盖每个属性的默认列名? 问题答案: 使用,这是一个示例 在您的情况下,它看起来像这样

  • 我想创建一个隐藏的输入字段:

  • 我有一个pom文件,其中某些依赖项的版本号依赖于pom文件设置中指定的项目版本属性。我可以通过命令行覆盖它吗?如果可以,如何操作? 说来话长: 我们目前正在将我们的项目转换为maven,但我们还没有完全实现。有多个模块仍然没有使用maven构建,因此是我们项目中的依赖项(它们通过ant构建到jar中)。发布后,我们希望构建所有这些jar,并包含与父项目相同的版本号。对于发布,执行两个步骤(直到我们

  • 问题内容: 我注意到编译器不会让我用另一个存储的值覆盖存储的属性(这似乎很奇怪): 但是,我可以使用计算属性来执行此操作: 为什么不允许我再给它一个值? 为什么用存储的属性覆盖是可憎的,而要使用计算的一个犹太洁食呢?他们在想什么呢? 问题答案: 为什么不允许我再给它另一个值? 绝对可以为继承的属性赋予不同的值。如果您在采用该初始值的构造函数中初始化属性,然后传递与派生类不同的值,则可以执行此操作:

  • 问题内容: 我正在将我的某些类从对getter和setter的广泛使用改为对属性的更pythonic的使用。 但是现在我陷入了困境,因为以前的一些getter或setter方法会调用基类的相应方法,然后执行其他操作。但是如何通过属性来实现呢?如何在父类中调用属性getter或setter? 当然,仅调用属性本身即可进行无限递归。 问题答案: 您可能认为您可以调用由属性调用的基类函数: 尽管我认为这