一行js可以做的事-第二期
Hi! 👋
JavaScript 单行简代码
使用这些基本的一行代码将您的JavaScript技能提升到一个新的水平,它们还可以节省您的编码时间
1) 如何将文字大写:
大写字符串不是 JavaScript 的内置功能。为了解决这个问题,我们可以创建一个capitalize函数,它接受一些文本并将第一个字母设为大写,然后附加字符串的其余部分。
1 | const capitalize = (str) => `${str.charAt(0).toUpperCase()}${str.slice(1)}`; |
2) 如何计算百分比:
calculatePercent接受一定金额,除以总金额,然后乘以 100。最后,我们将Math.round()结果四舍五入到最接近的整数。
1 | const calculatePercent = (value, total) => Math.round((value / total) * 100) |
3)如何获取随机元素:
某些情景,可能希望根据某些操作向用户显示祝贺消息。
但您可能不想每次都向他们展示相同的内容,因为那样会变得重复和乏味。
getRandomItem使用该Math.random()函数,它返回一个介于 0 和 1 之间的小数。将其乘以数组的长度以选择一个随机索引,该索引可用于选择一个随机元素。
1 | const getRandomItem = (items) => items[Math.floor(Math.random() * items.length)]; |
4) 如何删除重复元素:
函数利用Set
中的构造函数,默认情况下会删除任何重复(原始)值。之后,我们使用扩展运算符...
将其值扩展到一个新数组中。
1 | const removeDuplicates = (arr) => [...new Set(arr)]; |
5)如何根据特定属性对元素进行排序:
此sortBy
函数使用本机排序方法,根据提供的键比较数组中的元素,并按升序对数组进行排序。
1 | const sortBy = (arr, key) => arr.sort((a, b) => a[key] > b[key] ? 1 : a[key] < b[key] ? -1 : 0); |
6) 如何检查数组/对象是否相等:
1 | const isEqual = (a, b) => JSON.stringify(a) === JSON.stringify(b); |
7) 如何计算出现次数:
使用reduce
函数。如果在数组中找到该值,它会将计数器加一
1 | const countOccurrences = (arr, value) => arr.reduce((a, v) => (v === value ? a + 1 : a), 0); |
8) 如何等待一定时间:
可以为wait
函数提供一定的等待时间(以毫秒为单位)。因为它使用了承诺,所以您可以使用then
回调或await
关键字来确保它已完成。
1 | const wait = async (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds)); |
9) Pluck
摘取对象数组的属性:
1 | const pluck = (objs, key) => objs.map((obj) => obj[key]); |
10) 如何在某个位置插入元素:
1 | const insert = (arr, index, newItem) => [...arr.slice(0, index), newItem, ...arr.slice(index)]; |
🚀 关于我
戳
👩💻 🧠👯♀️🤔 💬 📫😄 ⚡️
鸣谢
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 songhang!
评论