【问题标题】:Javascript split is not a functionJavascript拆分不是函数
【发布时间】:2012-05-21 22:06:28
【问题描述】:

嘿朋友们,我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息,但是我收到此错误,friendId.split is not a function。这是我的代码

function recommendToFriend(pic, url, friendId, fromName)
{
    alert(friendId);
    var friendList ;
    pFriend = new Array();
    pFriend = friendId.split(',');
    for( x in pFriend )
    {
        alert(pFriend[x]);
        var publish = {
            method:'feed',
            picture:pic,
            link:url,
            name:'SHARP Product Recommend',
            caption: fromName + 'has recommend a product to you via Sharp Expert lounge',
        };

        FB.api('/'+pFriend[x]+'/feed', 'post', publish, function(resp) {
            if( !response || response.error )
                alert('Unable to share');
            else
                alert('Successfully posted to firends wall');
        });
    }
}

在警告框中,我得到了逗号分隔的朋友 ID,所以我在每个用户墙上分别使用拆分功能帖子,我不知道这里出了什么问题,请帮助我

【问题讨论】:

  • 这很可能是因为friendId 不是字符串而是数组。
  • console.dir(friendId)console.log(typeof friendId) 告诉你什么? alert 是您可能选择的最糟糕的调试方法。
  • console.log(typeof(friendId)) 返回对象
  • 那么你应该处理某个属性或迭代它来获取值。
  • 我怎样才能像我们使用forin循环一样在对象中迭代数组对象是否有任何等价物?

标签: javascript jquery facebook string split


【解决方案1】:

很可能friendID 已经是一个数组。如果您调用alert,则数组将转换为字符串并成为逗号分隔的值列表。

请注意,将数组转换为字符串与调用 JSON.stringify 不同(当元素是字符串时,您还会在元素周围得到括号和双引号)

【讨论】:

    【解决方案2】:

    JavaScript split() 函数用于字符串类型,即例如。

    var friendid='1,34,67';
    

    正如 VisioN 所说,当您提醒一个数组时,您会得到逗号分隔的值。

    【讨论】:

    • 今后,请花更多时间撰写或格式化您的帖子。格式化帮助可以找到here
    【解决方案3】:

    可以这样遍历JS对象

    for (var key in friendid) {
       var obj = friendid[key];
       for (var prop in obj) {
          alert(prop + " = " + obj[prop]);
       }
    }
    

    希望对你有帮助

    替代

    for( var x in friendId )
     {
      alert(friendId[x]); // this would be your desired value
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      相关资源
      最近更新 更多