JS Code block 代码块–数组(array)
星期一, 2023-04-17 | Author: Lee | computer, 前端 | 252 views
数组(array)
判断一个元素是否在数组中
数组进行去重
数组合并
将类数组转换为数组
获取数组中最大值
获取数组中最小值
计算某值在数组中出现的次数
去除数组中假值元素
获取数组的最后一项
/** * 判断一个元素是否在数组中 * @param arr 数组 * @param val 判断的值 */ function contains (arr, val) { return arr.indexOf(val) != -1 ? true : false; } /** * 数组进行去重 * @param arr 数组 * @return {any[]|Array} 去重后的数组 */ function unique (arr) { if (Array.hasOwnProperty('from')) { return Array.from(new Set(arr)); } else { var n = {}, r = []; for (var i = 0; i < arr.length; i++) { if (!n[arr[i]]) { n[arr[i]] = true; r.push(arr[i]); } } return r; } } /** * 数组合并 * @param a * @param b * @return {any[]|Array} */ function union (a, b) { var newArr = a.concat(b); return unique(newArr); } /** * 将类数组转换为数组的方法 * */ function formArray (ary) { var arr = []; if(Array.isArray(ary)) { arr = ary; } else { arr = Array.prototype.slice.call(ary); }; return arr; } /** * 获取数组中最大值 * @param arr * @return {number} */ function arrayMax (arr) { return Math.max(...arr) } /** * 获取数组中最小值 * @param arr * @return {number} */ function arrayMin(arr) { return Math.min(...arr) } /** * 计算某值在数组中出现的次数 * @param arr * @param value * @return {*} */ function countOccurrences(arr, value) { return arr.reduce((a, v) => v === value ? a+1 : a+0, 0) } /** * 去除数组中假值元素,比如undefined,null,0,"",NaN都是假值 * @param {Array} arr * @return {Array} */ function compact(arr){ let index = -1, resIndex = -1, result = [], len = arr?arr.length : 0 while (++index < len) { let value = arr[index] if (value) { result[++resIndex] = value } } return result; } /** * 获取数组的最后一项 * @since 1.2.1 * @param array * @returns {boolean} * @example * last(['1,2,3']); * // => '3'; */ function last(array) { return Array.isArray(array) && array.slice(-1)[0]; } |
文章作者: Lee
本文地址: https://www.pomelolee.com/2363.html
除非注明,Pomelo Lee文章均为原创,转载请以链接形式标明本文地址
No comments yet.
Leave a comment
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)