我如何在javascript中指出两个字段使用相同的值

How do i point two fields to use the same value in javascript

本文关键字:字段 两个 javascript      更新时间:2023-09-26

我在下面有这个对象,正如你所看到的,"valid"answers"pending"使用相同的值,有没有办法把它放在一行,而不是重复"custom-info" ?

  Map = {
    'failed': 'custom-error',
    'pending': 'custom-info',
    'valid': 'custom-info'
  };

可以将字符串值赋给常量,也可以使用常量设置属性值。

const CUSTOMER_INFO = 'custom-info';
Map = {
    'failed': 'custom-error',
    'pending': CUSTOMER_INFO,
    'valid': CUSTOMER_INFO
  };

只有在多次设置属性值并在其他地方使用时才有用,否则在对象中设置字符串值是可以的

这将为您提供一个简写,但请记住,字符串作为原语,作为副本传递,这可能不符合您的需要。

Enum = {
  'error': 'custom-error',
  'info': 'custom-info'
};
Map = {
  'failed': Enum.error,
  'pending': Enum.info,
  'valid': Enum.info
};

如果你需要对象的实际引用,我建议:

Enum = function(type) {
  var keys = {
      error : { text: "custom-error" },
      info : { text: "custom-info" }
  };
  return keys[type];
};

Map = {
  'failed': Enum('error'),
  'pending': Enum('info'),
  'valid': Enum('info')
};
Map = {
  'failed': 'custom-error'
};
Map.pending = Map.valid = 'custom-info';