【问题标题】:Can't return array outside function无法在函数外返回数组
【发布时间】:2017-10-01 19:21:41
【问题描述】:

我有一个函数

function gotData(data){
    result = data.val() 
    const urls = Object.keys(result)
                 .filter(key => result[key].last_res > 5)
                 .map(key => ({url: 's/price/' + result[key].url_site + '/'}))
}
console.log(urls)

但我不能console.log(urls) 将错误显示为

ReferenceError: urls is not defined

如何返回urls

【问题讨论】:

  • 令人惊讶的是,它是return urls ;)

标签: javascript angularjs arrays node.js


【解决方案1】:

您的函数 gotData 应该返回网址,

function gotData(data){
    result = data.val() 
    return urls = Object.keys(result)
                 .filter(key => result[key].last_res > 5)
                 .map(key => ({url: 's/price/' + result[key].url_site + '/'}))
}
 console.log(gotData(yourdata));

【讨论】:

  • 1) 你从不调用函数,2) 这种模式充其量是尴尬的——如果你可以在函数中返回结果并在外部使用返回值,为什么还要有另一个变量?
  • 抱歉问题误解了
  • 还是需要调用函数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多