【问题标题】:Javascript Array - get first 10 items [duplicate]Javascript数组 - 获取前10个项目[重复]
【发布时间】:2020-03-31 06:40:15
【问题描述】:

我有一个 javascript 数组,我想从中提取前 10 项。 这可以使用 map 方法吗?

我尝试的代码如下:

data.map((item, i) => {
  placeIDs.push(item.place_id);
});

此代码块返回 20 个 place_id,但我只想拥有 10 个。

所以我在 map 方法中尝试了 break,它显示 SyntaxError: Illegal break statement

这里的data是google place api的json结果,返回20个结果。

一个结果

{
    "geometry": {
      "location": {
        "lat": 61.2180556,
        "lng": -149.9002778
      },
      "viewport": {
        "northeast": {
          "lat": 61.48393789999999,
          "lng": -148.4600069
        },
        "southwest": {
          "lat": 60.733791,
          "lng": -150.4206149
        }
      }
    },
    "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
    "id": "2edc2d446c844a7a55a2ccbe4a2dfda60a5a0264",
    "name": "Anchorage",
    "photos": [
      {
        "height": 1152,
        "html_attributions": [
          "<a href=\"https://maps.google.com/maps/contrib/102061280252416580615\">Efren Norstein</a>"
        ],
        "photo_reference": "CmRaAAAA9aiV4_BwvK6GfpuswWMBzwuO4LM55YUxGuN8q-4kyZ2-eeyl386ArGmc0-qyBr1r49cuibTIx_2QjFNIBoSRZFspgTBKzciji_-srPClBjNKx8q02BmvwM5vZxVy71lSEhDSY8VwSU2I6uHJPBVvZStBGhQ-_-ZcvP8QhktxugB9k_YHr3OX6A",
        "width": 2048
      }
    ],
    "place_id": "ChIJQT-zBHaRyFYR42iEp1q6fSU",
    "reference": "ChIJQT-zBHaRyFYR42iEp1q6fSU",
    "scope": "GOOGLE",
    "types": ["locality", "political"],
    "vicinity": "Anchorage"
  },

placeIDs 是一个数组。 我想从前 10 个中提取 place_ids。

所以主要的想法是可以破坏里面的地图吗?

【问题讨论】:

  • 使用data.slice(0,10).map(x =&gt; x.place_id)
  • 在map函数内添加if条件,只获取10条记录
  • 我不能在 map 方法中使用 break 吗?而不是切片~
  • @XiaoJin no, map 不提供任何break功能。

标签: javascript


【解决方案1】:

这将完成这项工作。将 [startIndex][endIndex] 替换为 0 和 10 以获得前 10 个。

data.slice([startIndex], [endIndex]).map((item, i) => {
  placeIDs.push(item.place_id);
});

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:
      var mapdata = [{ a: "x", b: "y" }, { a: 1, b: 2 }, { a: "m", b: "n" }, { a: "aa", b: "bb" }, { a: "11", b: "22" }];
      var result = mapdata.splice(0, 3).map(_data => {
                      return { a: _data.a };
      })
      // result is [{"a":"x"},{"a":1},{"a":"m"}]
         or
         var result = mapdata.splice(0, 3).map(_data => {
                    return _data.a;
         })
      // result is ["x", 1, "m"]
      

      【讨论】:

      • 我认为 [{a:"x", b:"y"}, {a: 1, b: 2}]。
      • 拼接(startIndex, endIndex)
      猜你喜欢
      • 2016-03-11
      • 2018-07-07
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      相关资源
      最近更新 更多