【问题标题】:Javascript push() shorthand?Javascript push() 简写?
【发布时间】:2013-09-20 02:14:26
【问题描述】:

在将值附加到数组时,是否有 JavaScript(甚至在咖啡脚本中).push() 的简写?很像 php 的$array[] = 'added to array';

【问题讨论】:

  • Array.prototype.a = Array.prototype.push; var arr = []; arr.a('something');;看,简短:)
  • @Jack - 不要让我在一些真实的代码中使用它!
  • 没有捷径可走,但无论你在写什么,都可能有更好的写法。在惯用的 CoffeeScript 中,您不需要经常将 push 元素放入数组中。
  • 如果算上空格,.push()[] = 两个 个字符。人们真的那么懒惰吗?
  • @meagar 但这不会增加代码的效率或清晰度。这就像争论我们应该始终使用一个字符变量,因为它们更短。可以说它更糟,因为我想不出任何其他支持该结构的语言。它们都需要.push.append 或类似的东西。

标签: javascript coffeescript


【解决方案1】:

没有。

您只需使用.push()

使用coffeescript只会为您提供去掉括号的便利。

【讨论】:

  • 我并不总是.push() 数据,但当我这样做时,我更喜欢.a() =D +1
  • @Jack - 我希望你的地址在互联网上的任何地方都不可用! :P
  • @Jack,在代码离开您的计算机之前,您是否使用后处理器将.a() 的实例替换为.push()?如果你不 - 你应该!
  • @BillyMoon 后处理器太费力了;更改原型要容易得多。
  • @Jack,写.a) 并使用预处理器替换.a() 怎么样 - 这样你就不需要输入这么多字符了。
【解决方案2】:

您可以使用arr[arr.length] = "new value",但没有其他快捷方式。

【讨论】:

  • 你真的认为arr[arr.length] = "new value" 是一条捷径吗?
  • 我刚刚添加了除推送方法之外的另一种解决方案。我不应该称之为捷径。
  • 这是一个很好的解决方案,有时当您不想有太多嵌套层时更容易阅读。示例:arr[arr.length] = something.find(function(s) {...}); 可能比 arr.push(something.find(function(s){...})) 更易于阅读。个人喜好
  • @Jake 我建议let found = something.find((s)=>{...}); arr.push(found); 更具可读性。
  • 对于它的价值,在某些情况下它可能是一个捷径(尽管是一个小捷径) 'arr[i] = "new value"'.length // 20. 'arr.push ("新值")'.length // 21.
猜你喜欢
  • 1970-01-01
  • 2012-04-09
  • 2019-11-10
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-16
  • 2013-08-08
相关资源
最近更新 更多