Javascript数组 - 获取前10个项目[重复]
Posted
技术标签:
【中文标题】Javascript数组 - 获取前10个项目[重复]【英文标题】:Javascript Array - get first 10 items [duplicate] 【发布时间】: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 => x.place_id)
在map函数内添加if条件,只获取10条记录
这能回答你的问题吗? How to get first N number of elements from an array
我不能在 map 方法中使用 break 吗?而不是切片~
@XiaoJin no, map
不提供任何break功能。
【参考方案1】:
这将完成这项工作。将 [startIndex]
和 [endIndex]
替换为 0 和 10 以获得前 10 个。
data.slice([startIndex], [endIndex]).map((item, i) =>
placeIDs.push(item.place_id);
);
【讨论】:
【参考方案2】:看看切片https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
例如const my10Items = myArray.slice(0, 10);
【讨论】:
【参考方案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)以上是关于Javascript数组 - 获取前10个项目[重复]的主要内容,如果未能解决你的问题,请参考以下文章
一JavaScript获取当前月份的前12个月,获取最近的12个月二js实现获取当前月份前的12个月份,格式化后放在一个数组里