返回
Javascript
JavaScript是一种在网络浏览器上运行的编程语言。https://www.javascript.com
@coco3月11日
点赞
回复
转发
收藏
@sword2月18日编辑于2月18日
主要逻辑思路: 使用递归; 使用JavaScript展开操作符(…)克隆原始数据; 如果数组长度小于2,返回克隆的数组; 使用Math.floor()计算主元的索引; 使用Array.prototype.reduce()和Array.prototype.push()将数组拆分成两个子数组,将 小于等于主元的元素 和 大于主元的元素 分别解构到两个子数组中; 在创建的子数组上递归调用quickSort(); const quickSort = arr => { const a = [...arr]; if (a.length < 2) return a; const pivotIndex = Math.floor(arr.length / 2); const pivot = a[pivotIndex]; const [lo, hi] = a.reduce( (acc, val, i) => { if (val < pivot || (val === pivot && i != pivotIndex)) { acc[0].push(val); } else if (val > pivot) { acc[1].push(val); } return acc; }, [[], []] ); return [...quickSort(lo), pivot, ...quickSort(hi)]; }; EXAMPLES quickSort([1, 6, 1, 5, 3, 2, 1, 4]); // [1, 1, 1, 2, 3, 4, 5, 6] 原文参考:https://www.30secondsofcode.org/js/s/quick-sort
点赞
回复
转发
收藏
@sword1月3日
在iPad Pro Safari浏览器上获取的navigator.userAgent没有iPad字眼,因此需要其他的方法来做判断是否是iPad,如下是找到的一个解决方法,分享一下。

(navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 0) || navigator.platform === 'iPad'
2
1/1
转发
收藏
@sword1月2日编辑于1月2日
前几天对接API时候,后端返回日期格式为:2020-12-31 23:00:00,
然后使用new Date("2020-12-31 23:00:00"),
在safari浏览器会出现 Invalid Date,但在chrome却是正常的,挠头~
这时需要将日期字符串转换成 2020/12/31 23:00:00 或 2020-12-31T23:00:00 后再进行操作。
1
回复
转发
收藏