javascript - 遍历对象数组以提取特定数据

标签 javascript angularjs node.js twitter

我正在构建一个 node express angular twitter 状态分析器,我正在尝试弄清楚如何从中提取 tex 并将其分配给一个长字符串以备后用。

我正在尝试像这样拉取用户状态:

   client.get('statuses/user_timeline', {params, count:20}, function(error, tweets, response) {
    var jsonObject;
    if (!error) {
      analyze.analyze(tweets);
      }
  });

响应看起来像这样:

    [
  {
    "coordinates": null,
    "favorited": false,
    "truncated": false,
    "created_at": "Wed Aug 29 17:12:58 +0000 2012",
    "id_str": "240859602684612608",
    "entities": {
      "urls": [
        {
          "expanded_url": "/blog/twitter-certified-products",
          "url": "",
          "indices": [
            52,
            73
          ],
          "display_url": "
        }
      ],
      "hashtags": [

      ],
      "user_mentions": [

      ]
    },
    "in_reply_to_user_id_str": null,
    "contributors": null,
    "text": "Introducing the Twitter Certified Products Program: ",
    "retweet_count": 121,
    "in_reply_to_status_id_str": null,
    "id": 240859602684612608,
    "geo": null,
    "retweeted": false,
    "possibly_sensitive": false,
    "in_reply_to_user_id": null,
    "place": null,
    "user": {
      "profile_sidebar_fill_color": "DDEEF6",
      "profile_sidebar_border_color": "C0DEED",
      "profile_background_tile": false,
      "name": "Twitter API",
      "profile_image_url": ",
      "created_at": "Wed May 23 06:01:13 +0000 2007",
      "location": "San Francisco, CA",
      "follow_request_sent": false,
      "profile_link_color": "0084B4",
      "is_translator": false,
      "id_str": "6253282",
      "entities": {
        "url": {
          "urls": [
            {
              "expanded_url": null,
              "url": "",
              "indices": [
                0,
                22
              ]
            }
          ]
        },
        "description": {
          "urls": [

          ]
        }
      },

我现在的代码是这样的:

function analyze(data) {
  for (var i = 0; i < data.length; i++) {
    tweet = data[i]['text'];
    tweet = tweet.replace('#' , '');
    return console.log(tweet);
  }
}

module.exports.analyze = analyze;

目前,我在分析函数的输出中只得到一条推文。我究竟做错了什么?

谢谢。

最佳答案

要拉出一个包含所有推文文本但不带# 的数组,您可以这样做:

function analyze(data) {
    return data.map(function(item) {
        return item.text.replace('#' , '');
    });
}

module.exports.analyze = analyze;

关于javascript - 遍历对象数组以提取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41078400/

相关文章:

javascript - Chrome开发者工具中的Console是如何实现的?

javascript - 通过单击 (x) 按钮元素从列表中删除 DOM 节点

javascript - 如何使用requirejs加载papa解析js文件?

javascript - 无法格式化默认 MySQL 日期时间

javascript - 使用 Node.js 监控第三方流量的最佳方法是什么?

node.js - 对 node.js 的 Reactive-Extensions/RxJS 实现

javascript - Storybook AddDecorators 不提供 redux 存储

javascript - 展开隐藏元素

javascript - 如何在第一次结束前停止第二次事件鼠标滚轮

node.js - 确定 Node js中读取流的长度