在对象中设置一个字符串等于两个不同的元素

迦勒

我想将一个对象中的两个元素设置为一个字符串。我可以在两条单独的行上完成,就像这样。

var strings =
{
    "1": "string 1",
    "01": "string 1"
}

但我宁愿它在一条线上,就像这样。

var strings =
{
    "1", "01": "string 1"
}

那显然行不通。有没有办法编写它以便两个元素都等于那个字符串?

菲利克斯·克林

但我宁愿它在一条线上,就像这样。

JavaScript 不关心换行符。您可以将所有内容写在一行中:

var strings = { "1": "string 1", "01": "string 1"};

更严肃地说,如果您只是想避免重复值(例如,在重构时避免拼写错误),那么最简单的解决方案是将值单独存储在变量中:

const value = "string 1";
var strings =
{
    "1": value,
    "01": value,
};

如果这是您不喜欢复制的分配,您可以使用分配返回分配值的事实:

var strings = {};
strings['1'] = strings['01'] = "string 1";

如果这些都以简单和干净的方式表达意图。不要试图太聪明,保持简单


然而,从评论看来,您似乎希望两个属性的值“同步”。这对于“正常”属性分配是不可能的。这样做strings[1] = "new value";不会改变的价值strings['01']

为此,您需要使用gettersetter(或者您可以使用代理)。

var strings = (function() {
  var value = "string 1";
  var obj = {};
  ['1', '01'].forEach(prop => Object.defineProperty(obj, prop, {
    get: () => value,
    set: v => value = v,
    enumerable: true,
  }));
  return obj;
}());

console.log(strings['1'], strings['01']);

strings['1'] = 'foo';
console.log(strings['1'], strings['01']);

strings['01'] = 'bar';
console.log(strings['1'], strings['01']);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果最多两个字符不同,则匹配一个字符串

来自分类Dev

在一个字符串中检测两个或多个相同的字符

来自分类Dev

一个字符串,两个rawurlencode输出

来自分类Dev

尝试使用两个指针反转一个字符串

来自分类Dev

将一个字符串拆分为两个字符串

来自分类Dev

在不同的字符串中搜索一个字符串

来自分类Dev

IF语句的indexOf使用&&在一个字符串中查找两个值

来自分类Dev

将两个字符串中的每个字符串的所有第一个类似的字符放入另一个字符串中

来自分类Dev

如何从一个字符串中一次读取两个字符并复制到另一个字符串中

来自分类Dev

如何在一个字符串中搜索两个字符串?

来自分类Dev

在R中的其他两个字符串之间提取一个字符串

来自分类Dev

检查一个字符串是否包含列表中的至少两个字符串

来自分类Dev

如何在一个字符串中搜索两个字符串?

来自分类Dev

如何测试两个字符串是否同时出现在另一个字符串中?

来自分类Dev

如何在扑镖中从两个字符串生成一个字符串/哈希

来自分类Dev

如何用C ++中的两个字符串向量创建一个字符串?

来自分类Dev

检查一个字符串是否包含列表中的至少两个字符串

来自分类Dev

如何区分一个字符串中的两个字符串?(如何防止纯文本注入)

来自分类Dev

如何在Java中从ENUM的两个字符串之间随机选择一个字符串?

来自分类Dev

使用LINQ将两个字符串字段合并到一个字符串数组中

来自分类Dev

如何测试两个字符串是否同时出现在另一个字符串中?

来自分类Dev

SQL查询以在两个已知字符串之间选择一个字符串

来自分类Dev

如果两个字符串仅相差一个字符,则返回True

来自分类Dev

用两个字符的间隔分割一个字符串

来自分类Dev

找到两个字符串的交集,其中返回出现在两个字符串中的字符(与第一个字符串相同的序列顺序)

来自分类Dev

字符串中的单词等于另一个字符串中的单词排列

来自分类Dev

从减去的一个字符串列中创建两个字符串列

来自分类Dev

从两个N个或更多的重叠字符串中创建一个字符串?

来自分类Dev

给定一个字符串,返回一个字符串,其中每个字符都是原始字符,有两个字符?

Related 相关文章

  1. 1

    如果最多两个字符不同,则匹配一个字符串

  2. 2

    在一个字符串中检测两个或多个相同的字符

  3. 3

    一个字符串,两个rawurlencode输出

  4. 4

    尝试使用两个指针反转一个字符串

  5. 5

    将一个字符串拆分为两个字符串

  6. 6

    在不同的字符串中搜索一个字符串

  7. 7

    IF语句的indexOf使用&&在一个字符串中查找两个值

  8. 8

    将两个字符串中的每个字符串的所有第一个类似的字符放入另一个字符串中

  9. 9

    如何从一个字符串中一次读取两个字符并复制到另一个字符串中

  10. 10

    如何在一个字符串中搜索两个字符串?

  11. 11

    在R中的其他两个字符串之间提取一个字符串

  12. 12

    检查一个字符串是否包含列表中的至少两个字符串

  13. 13

    如何在一个字符串中搜索两个字符串?

  14. 14

    如何测试两个字符串是否同时出现在另一个字符串中?

  15. 15

    如何在扑镖中从两个字符串生成一个字符串/哈希

  16. 16

    如何用C ++中的两个字符串向量创建一个字符串?

  17. 17

    检查一个字符串是否包含列表中的至少两个字符串

  18. 18

    如何区分一个字符串中的两个字符串?(如何防止纯文本注入)

  19. 19

    如何在Java中从ENUM的两个字符串之间随机选择一个字符串?

  20. 20

    使用LINQ将两个字符串字段合并到一个字符串数组中

  21. 21

    如何测试两个字符串是否同时出现在另一个字符串中?

  22. 22

    SQL查询以在两个已知字符串之间选择一个字符串

  23. 23

    如果两个字符串仅相差一个字符,则返回True

  24. 24

    用两个字符的间隔分割一个字符串

  25. 25

    找到两个字符串的交集,其中返回出现在两个字符串中的字符(与第一个字符串相同的序列顺序)

  26. 26

    字符串中的单词等于另一个字符串中的单词排列

  27. 27

    从减去的一个字符串列中创建两个字符串列

  28. 28

    从两个N个或更多的重叠字符串中创建一个字符串?

  29. 29

    给定一个字符串,返回一个字符串,其中每个字符都是原始字符,有两个字符?

热门标签

归档