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

如何在JS对象文字[复制]中放置三元条件

端木夕
2023-03-14

如何将三元条件放入JS对象文字中?

var options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

var overlayEXVOORh = {
  (options[0] == 1) ? "01" : EXVOORh01, : {};
  (options[5] == 6) ? "06" : EXVOORh06, : {};
  (options[7] == 8) ? "08" : EXVOORh08, : {};
  (options[3] == 4) ? "04" : EXVOORh04, : {};
};

console.log(overlayEXVOORh);

下面是正在工作的JS对象,但我的目标是让它“更智能”

var overlayEXVOORh = {
"06": EXVOORh06,
"07": EXVOORh07,
"08": EXVOORh08,
"01": EXVOORh01,
"02": EXVOORh02,
"03": EXVOORh03,
};

对象必须是键/值对,因为我使用的是传单库。

共有3个答案

子车征
2023-03-14

你可以这样做:

js prettyprint-override">var options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

var overlayEXVOORh = {
  "01" : (options[0] == 1) ?  "EXVOORh01" : {},
  "06" : (options[5] == 6) ?  "EXVOORh06" : {},
  "08" : (options[7] == 8) ?  "EXVOORh08" : {},
  "04" : (options[3] == 4) ?  "EXVOORh04" : {}
};

console.log(overlayEXVOORh);
蒯坚白
2023-03-14

你几乎得到了正确的答案,你只是混淆了顺序

js lang-js prettyprint-override">var options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

var overlayEXVOORh = {
  "01": (options[0] == 1) ? 'EXVOORh01' : {},
  "03": (options[7] == 9) ? 'EXVOORh03' : {},
  "06": (options[5] == 6) ? 'EXVOORh06' : {},
  "08": (options[7] == 8) ? 'EXVOORh08' :
    {},
  "04": (options[3] == 4) ? 'EXVOORh04' :
    {},
};

console.log(overlayEXVOORh);
薛承基
2023-03-14

使用ES6,您可以使用扩展操作数制作可选键,如下所示:

var options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

var overlayEXVOORh = {
  ...(options[0] == 1 ? { "01" : EXVOORh01 } : {});
  ...(options[5] == 6 ? { "06" : EXVOORh06 } : {});
  ...(options[7] == 8 ? { "08" : EXVOORh08 } : {});
  ...(options[3] == 4 ? { "04" : EXVOORh04 } : {});
};

一个简短的解释是,这将解析为{“01”:EXVOORh01}{},然后将其传播到对象中。

 类似资料:
  • 问题内容: 我正在创建一个PDF,并在其中的某个位置添加一个JPanel。 使用和我可以将其添加到文档中,但是: 我如何定位它使其位于左边距而不是页面左侧? 如何防止其显示在其他元素之上? 换句话说:如何将其放在段落中? 代码片段: 问题答案: 我通过使用a 并从中创建一个使其工作。

  • 问题内容: 如何在Java中复制对象? 问题答案: 创建一个副本构造函数: 每个对象还有一个克隆方法,可用于复制对象,但不要使用它。创建类和执行不正确的克隆方法太容易了。

  • 通过拖动来复制对象 选择一个或多个对象。 选择“选择”、“直接选择”或“编组选择”工具。 按住 Alt 键 (Windows) 或 Option 键 (Mac OS) 并拖动所选对象(而非定界框上的手柄)。 使用图层面板复制对象 使用“图层”面板可快速复制对象、组和整个图层。 在“图层”面板中选择要复制的项目。 执行下列操作之一: 从“图层”面板菜单中选择“复制‘图层名称’”。 在“图层”面板中将

  • 问题内容: 我在另一个实现Parcelable的场所对象中有一个Location对象。我该如何在我的writeToParcel方法实现中正确序列化它?所以这是一些代码: 问题答案: 在这里,您有一个片段如何将可分割对象序列化为您自己的包裹。

  • 本文向大家介绍如何在JavaScript中浅复制对象?,包括了如何在JavaScript中浅复制对象?的使用技巧和注意事项,需要的朋友参考一下 Underscore.js,JavaScript的一个库,推出了一种称为 _.extend() ,以浅拷贝中的JavaScript对象。此方法将源 对象中的所有属性复制到目标 对象,然后返回目标对象。在此引用 用于复制,但不用于复制。  语法 它接受对象并

  • 我想使用“扩展”操作符克隆对象。但是,这些方法不会复制,如图所示 我知道你可以做Object赋值(),但我正在寻找一种使用ES6语法的方法 ES6中使用扩展语法的深度复制解决方案涉及深度克隆:我只对复制方法和属性感兴趣 如何克隆javascript ES6类实例的解决方案使用Object.Assign()