Javascript 从';返回对象数组;第'页;内容与';模式';? var-pages=[“/garethnunns.com/simply是一个非常棒的网站,有很多漂亮的内容/素材”,“-http://bbc.co.uk-Some news”,“| www.google.com |多棒的OG,哇”] 函数URL(页面、模式){ //从其中的页面返回URL数组 //内容匹配模式 对于(变量i=0;i

Javascript 从';返回对象数组;第'页;内容与';模式';? var-pages=[“/garethnunns.com/simply是一个非常棒的网站,有很多漂亮的内容/素材”,“-http://bbc.co.uk-Some news”,“| www.google.com |多棒的OG,哇”] 函数URL(页面、模式){ //从其中的页面返回URL数组 //内容匹配模式 对于(变量i=0;i,javascript,Javascript,该代码在大部分情况下都有效,但我似乎无法让它从一个数组返回多个对象。它将只返回数组的第一部分,或返回空字符串 当运行url(pages,“w”)时,它应该返回[“http://bbc.co.uk“,”www.google.com“],但它返回了一个空字符串。看看您的逻辑: 进入循环 看第一项 如果存在匹配项:返回第一项(这将退出函数和循环) 如果不匹配:返回一个空字符串(这将退出函数和循环) 你需要改变你的方法 您说过要返回一个数组。因此,您需要: 有一个数组要返回 将return语句放在该数

该代码在大部分情况下都有效,但我似乎无法让它从一个数组返回多个对象。它将只返回数组的第一部分,或返回空字符串

当运行
url(pages,“w”)
时,它应该返回
[“http://bbc.co.uk“,”www.google.com“]
,但它返回了一个空字符串。

看看您的逻辑:

  • 进入循环
  • 看第一项
  • 如果存在匹配项:返回第一项(这将退出函数和循环)
  • 如果不匹配:返回一个空字符串(这将退出函数和循环)
  • 你需要改变你的方法

    您说过要返回一个数组。因此,您需要:

    • 有一个数组要返回
    • return
      语句放在该数组之前,而不是字符串之前
    首先在循环之前创建该数组

    然后,在循环内部,您的逻辑不应该返回。它应该向数组中添加项


    最后,循环所有数据后,返回刚刚创建和填充的新数组。

    函数中的返回从函数返回好的,我如何更改它以使其返回数组中内容与模式匹配的多个部分?谢谢。我试试看。:)
    var pages = ["/garethnunns.com/simply a brilliant site, that has a bunch of beautiful content / stuff ", " - http: //bbc.co.uk-Some news ", " | www.google.com | What an OG, wow "]
    
    function urls(pages, pattern) {
      //returns an array of urls from pages where 
      //content matches pattern 
    
      for (var i = 0; i < pages.length; i++) {
        var string = pages[i].split(pages[i].charAt(0));
        if (match(pages[i], pattern)) {
          return string[1]
        }
        return ''
      }
    }