【大吉大利 今晚吃包】002 - array-first
简介
今天吃 array-first 这个包,这个包主要是用来截取一个数组的头部元素的。
官方例子:
var first = require('array-first');first(['a', 'b', 'c', 'd', 'e', 'f']);
//=> 'a'first(['a', 'b', 'c', 'd', 'e', 'f'], 1);
//=> 'a'first(['a', 'b', 'c', 'd', 'e', 'f'], 3);
//=> ['a', 'b', 'c']
目录结构
emm,觉得小包的目录结构都差不多的,略。
主要代码
var isNumber = require('is-number');
var slice = require('array-slice');/*** @param {Array<any>} arr 数组* @param {number} num 截取数量*/
module.exports = function arrayFirst(arr, num) {if (!Array.isArray(arr)) {throw new Error('array-first expects an array as the first argument.');}if (arr.length === 0) {return null;}var first = slice(arr, 0, isNumber(num) ? +num : 1);if (+num === 1 || num == null) {return first[0];}return first;
};
代码相信各位都看得懂,而核心代码主要是 slice(arr, 0, isNumber(num) ? +num : 1);
这一句,而这其中用到了一个 array-slice 模块,这个模块跟 Array.splice 的作用一样,唯一区别是不会改变源数组,类似 String.splice。
单元测试
单元测试用的 mocha,测试脚本就不贴了,略。
总结
这个包比较小,但很符合包的定义:first,只截取头部的元素,美中不足的点是当 num 为1时,返回的是数组的第一个元素,这就导致返回的结果有可能是Array,也有可能是其他类型。但仔细想想,或许刚好就有这种使用场景吧~
【大吉大利 今晚吃包】002 - array-first相关推荐
- HTML5+css+JS实现页面打枪声音特效减压玩法 PUBG 大吉大利 今晚吃鸡
HTML5+css+JS实现页面打枪声音特效减压玩法 PUBG 大吉大利 今晚吃鸡 css部分 *{margin: 0;padding:0;}body{min-height:100vh;overflo ...
- 大吉大利-今晚吃鸡-枪械
题目描述 在绝地求生(吃鸡)游戏里,不同的枪支有不同的威力,更是可以搭配不同的配件,以提升枪支的性能. 每一把枪都有其威力及其可装备配件种类.每一个配件有其所属种类,可以为枪支提供威力的百分比加成.每 ...
- 大吉大利-今晚吃鸡-跑毒
题目描述 现在有一款很火的游戏playerunknown's battlegrounds,人称"吃鸡",在里面经常面临跑毒(从安全区外跑进安全区内)的问题,在安全区外,人们会处于中 ...
- 大吉大利今晚吃鸡——跑毒篇
题目链接:点击打开链接 问题 1. 边界部分恰好擦着的时候到底是死是活.......写到程序里就是有没有=的问题. 首先题目里明确指出打包的时候擦着就是死. 然后后面有个带着你理解第二个样例的部分,这 ...
- 大吉大利 今晚吃鸡之跑毒篇
现在有一款很火的游戏playerunknown's battlegrounds,人称"吃鸡",在里面经常面临跑毒(从安全区外跑进安全区内)的问题,在安全区外,人们会处于中毒状态,每 ...
- 大吉大利今晚吃鸡——枪械篇
题目链接:点击打开链接 这题难点带就是输入?我是因为用float精度不够才不过的,改成double就ok了 #include <cstdio> using namespace std;in ...
- 【活动】今晚“吃鸡”还是“农药”,游戏背后的程序员告诉你如何造就一个好游戏?
毫无疑问,眼下被问及哪款游戏最火时,<绝地求生>("吃鸡"游戏)是2017年游戏圈最大赢家.3月上线后短时间内就获得了超过2100万的全球累计销量."大吉大利 ...
- 包吃包住包机票的培训你见过吗?云南高通量条形码培训班,截止5月31日
文章目录 2019年中国云南高通量条形码培训班 划重点 简介 日程 申请 授课教师 课程安排 培训地点 旅行 要求 参考文献 猜你喜欢 写在后面 2019年中国云南高通量条形码培训班 2019年云南高 ...
- rust和gta5哪个吃配置_选指数基金,像“今晚吃什么”一样容易
大家好,我是格子. 指数基金有很多,听说你还不会买指数基金? 那,下过馆子不? 格子教你像点菜一样,在今晚吃饭前就可以搞定指数基金! 一.厨房有什么? 1.宽基指数就像是火锅套餐. 特点呢,就是里面啥 ...
最新文章
- 第三百三十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—深度优先与广度优先原理...
- mysql 共享表空间_MySQL共享表空间概念
- python -- leetcode 刷题之路
- Cloud Foundry Java客户端–流事件
- jwPlayer为js预留的回调方法
- Python3错误和异常
- mysql必知必会_5天学完《MySQL必知必会》学习笔记之第四天
- jinja2模板用法详解
- c语言学习-利用函数指针的方法,求任意给出两个整数的x和y的和、差。
- 工具 - 怎么看微信h5的源码?
- 2022-10-10 Android 在其他应用上的悬浮窗View
- mysql+sqlplus命令找不到_SQLPLUS命令技巧
- FileRecv VNCViewer 使用方法
- DCT和IDCT原始公式计算
- java 提交mac地址栏_Mac系统快捷键大全 - 米扑博客
- Adding a Timepicker to jQuery UI Datepicker
- 拉格朗日乘数和KTT条件
- 进入BeOS的花花世界 系列三
- LeetCode C++基础面试题汇总附答案(一)
- Bison for Windows
热门文章
- python语言代码片段-有用的Python代码片段
- RabbitMQ (五)实现类似Dubbo的RPC调用
- python filter内置函数_python 内置函数filter
- 计算机背景象怎样改变,我的页面背景总是黑色,以前改变过现在好象改变不了?我该怎么改变呢? 爱问知识人...
- 智能车竞赛技术报告 | 智能车视觉 - 石家庄学院 - 百事
- Python - 移除List中重复项的五种常用方法
- 第十六届全国大学生智能汽车竞赛 英飞凌特供芯片支持计划TC364TC377
- 第十五届全国大学生智能车全国总决赛获奖信息-华南赛区
- STC8K28步进电机ULC2003触发器
- @Transactional注解在什么情况下失效?