【问题标题】:Unpacking all the objects separately from an object received as parameter in a function将所有对象与函数中作为参数接收的对象分开解包
【发布时间】:2021-07-08 18:51:29
【问题描述】:

我们可以将作为参数接收的父对象的所有对象“作为单独的对象”解包吗?我知道它可以作为funName(objA, ObjB){---} 完成,但无论如何都可以在接收时不必将单个对象提及为(objA, ObjB) 来完成?

这可能听起来令人困惑,因此这里有一个案例来帮助理解。我总共有 12+ 个缓存的 DOM 元素,稍后根据需要在 5-6 个函数中使用这些元素。 我真正希望拥有的是,我可以在以后的函数中接收它们,并可以通过它们的名称使用它们。一个荒谬的想法草图可能看起来像也可能不像下面这样,也许它可能有助于理解我的挑战:

Function mainFunction() {
   parentObj = {objA: "$_el1", objB: "$_el2"..many more..};
   subFunc1(parentObj);
}

subFunc1(...) {
   objH.css("backgroundColor": "#f5f5f5");
}

谁能告诉我这是否可能?如果是,如何!任何帮助或指导将不胜感激。 谢谢提前。

【问题讨论】:

  • 我们可以做subFunc1({ objH }) {...}来解压我们需要的对象的属性
  • @НикитаНигматуллин 但是您需要在解构参数中列出所有属性名称,目标不是列出所有名称。 @Avinash 为什么不直接传递对象,并使用像o 这样的短参数名称,然后通常引用属性前。 o.objH ..?
  • 你想的还不止这些吗? subFunc1(props) { props.objH && props.objH.css('backgroundColor', '#f5f5f5') } ...您传递了一个对象props,它可能包含有问题的特定元素键,如果存在,该函数将被执行。
  • 我现在面临一个奇怪的挑战。将对象作为subFunc1($pageEls); 传递,而subFunc1($pageEls) {...} 没有收到它。也许我在某处打错了字。小事,但不合情理。无论如何,感谢您的时间和善意的帮助。在帮助他人的同时,真正欣赏您的精神和敏感性。上帝保佑@SteveHynding。

标签: javascript object destructuring object-destructuring destructure


【解决方案1】:

不必提及单个对象

…并且可以通过他们的名字来使用它们。

是互斥的。

【讨论】:

  • 谢谢,但是...你能详细说明一下你的“独家”吗?
  • 表示不可能做到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 1970-01-01
  • 2019-08-12
  • 2016-10-30
  • 1970-01-01
  • 2011-09-05
相关资源
最近更新 更多