【问题标题】:set returned values of function to variables js将函数的返回值设置为变量js
【发布时间】:2022-01-22 11:03:00
【问题描述】:

如何在 javascript 中将多个变量设置为函数的返回值? 此方法无效,名称未定义。

function data() {
    var names = ["logan", "harry", "josh", "harris", "jacob"]
    var nameFind = "harris"
    return names, nameFind
}

names, nameFind = data()

【问题讨论】:

标签: javascript function return


【解决方案1】:

在 JavaScript 中,函数只能返回一个值。最接近这一点的是返回数组中的值:

return [names, nameFind]

...然后在调用代码中解析数组

var result = data()
var names = result[0], nameFind = result[1]

另外,根据您工作的环境,最现代的 JS 版本支持解构内联返回值,如下所示:

[names, nameFind] = data()

【讨论】:

    【解决方案2】:

    JavaScript 不支持tuples。而是返回一个数组或对象。

    您可以使用destructuring 来简化返回值的分配

    // array
    function data() {
      const names = ["logan", "harry", "josh", "harris", "jacob"]
      const nameFind = "harris"
    
      return [ names, nameFind ]
    }
    
    const array = data()
    const names = array[0]
    const nameFind = array[1]
    
    // or with destructuring
    
    const [ names, nameFind ] = data()
    
    // object
    function data() {
      const names = ["logan", "harry", "josh", "harris", "jacob"]
      const nameFind = "harris"
    
      return {
        names: names,
        nameFind: nameFind
      }
    
      // or with shorthand property names
    
      return { names, nameFind }
    }
    
    const obj = data()
    const name = obj.name
    const nameFind = obj.nameFind
    
    // or with destructuring
    
    const { names, nameFind } = data()
    

    【讨论】:

      猜你喜欢
      • 2016-11-25
      • 1970-01-01
      • 2012-10-18
      • 2023-04-09
      • 2018-10-10
      • 2016-02-02
      • 1970-01-01
      • 2022-01-14
      • 2021-01-10
      相关资源
      最近更新 更多