返回多个变量的 JavaScript 函数:数组与对象.最佳实践是什么

JavaScript function returning multiple variable: Array vs Object. What's the best practice?

本文关键字:对象 最佳 是什么 数组 变量 函数 JavaScript 返回      更新时间:2023-09-26

我们应该使用 Array 还是 Object 从 JavaScript 函数中获取多个变量?这甚至重要吗?执行此操作的最佳做法是什么?

这完全取决于您返回的数据类型。 如果您要返回一个变量列表,这些列表都是相同类型的,因此不需要单独标识,或者如果订单计数,那么您应该将它们放在数组中并返回数组。

如果要返回 N 个不完全相同的东西,那么你应该将它们放在一个具有属性名称的对象中并返回该对象。 虽然您也可以在数组中返回这些内容,并且只有一个隐含的规则,即数组中的第一项是"x"坐标,数组中的第二项是"y"坐标,然后第三项是"宽度"等等,但如果使用具有命名属性的对象,则代码将更加自我记录,其中代码实际标识哪个是哪个。 从长远来看,我认为这更易于维护(特别是对于没有编写原始代码的人)。

使用对象,以便命名返回值。

如果顺序计数使用 Array,则对象不知道其属性的顺序。请看一下这个问题,它可能会回答你的一些问题:Javascript中键/值对的对象与数组

如果你愿意使用 Coffescript,你可以只返回一个元组。

weatherReport = (location) ->
  # Make an Ajax request to fetch the weather...
  [location, 72, "Mostly Sunny"]
[city, temp, forecast] = weatherReport "Berkeley, CA"

以下是经验法则:

如果需要字符串索引或未0...N的数字索引,请使用对象。

如果不这样做,或者顺序很重要,请使用数组。