值得收藏的JavaScript 语句

这篇具有很好参考价值的文章主要介绍了值得收藏的JavaScript 语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 两个日期间的天数

const diffDays = (startDate, endDate) =>
    Math.ceil(
        Math.abs(new Date(startDate) - new Date(endDate)) /
            (1000 * 60 * 60 * 24)
    );

console.log(diffDays("2021-06-01", "2021-06-23")); // 22

2. 首字母大写

const capitalize = (strContent) =>
    `${strContent.charAt(0).toUpperCase()}${strContent.slice(1)}`;
console.log(capitalize("devPoint")); // DevPoint

3. 3. 字符串转数字

const toNumber = (str) => +str;
// 显式地将字符串转换为数字
const toNumber2 = (str) => Number(str);

console.log(toNumber("100")); // 100
console.log(toNumber2("99")); // 99

4. 数字转字符串

const toString = (num) => num + "";
// 显式地将字符串转换为数字
const toString2 = (num) => num.toString();

const number = 100.0;

console.log(typeof toString(number)); // string
console.log(typeof toString2(number)); // string

5. 验证数组是否为空

const isNotEmpty = (arr) => Array.isArray(arr) && arr.length > 0;

console.log(isNotEmpty([6, 7, 8])); // true
console.log(isNotEmpty([])); // false

6. 数组合并

const mergeArray = (a, b) => a.concat(b);
const mergeBySpread = (a, b) => [...a, ...b];
const mergeBySet = (a, b) => [...new Set(a.concat(b))];

const arr1 = [6, 7, 8, "b"];
const arr2 = ["a", 7, 8, "b"];

console.log(mergeArray(arr1, arr2)); // [6, 7, 8, 'b','a', 7, 8, 'b']
console.log(mergeBySpread(arr1, arr2)); // [6, 7, 8, 'b','a', 7, 8, 'b']
console.log(mergeBySet(arr1, arr2)); // [ 6, 7, 8, 'b', 'a' ]

7. 数组排序

const sort = (arr) => arr.sort((a, b) => a - b);
console.log(sort([10, 8, 2, 68, 3])); // [ 2, 3, 8, 10, 68 ]

8. 生成随机十六进制颜色

const randomColor = () =>
    `#${Math.random().toString(16).slice(2, 8).padStart(6, "0")}`;

const randomColor2 = () => `#${(~~(Math.random() * (1 << 24))).toString(16)}`;

console.log(randomColor()); // #4fd21f
console.log(randomColor2()); // #2c456b

9. 获取 Cookie

const getCookie = (name, strCookie) =>
    `; ${strCookie}`.split(`; ${name}=`).pop().split(";").shift();

console.log(getCookie("_ga", document.cookie)); // GA1.2.918318285.1606740576

10. 获取用户选择的文本

const getSelectedText = () => window.getSelection().toString();
console.log(getSelectedText());

11. 变量值交换

let a = 1;
let b = 2;
[a, b] = [b, a];

console.log(a, b); // 2 1

12. 获取数组最后一项

const getLast = (arr) => arr.slice(-1)[0];

const arrTest = [1, 2, 3, 4, 5];
console.log(getLast(arrTest)); // 5

13. 使用方括号动态设置对象的键

有些时候,在创建对象时,希望根据特定的条件或变量更改对象的属性名,就可以借助方括号 [] 。

const dynamic = "url";
const item = {
    brand: "DevPoint",
    [dynamic]: "devpoint.cn",
};
console.log(item); // { brand: 'DevPoint', url: 'devpoint.cn' }

14. 使用 || 设置默认值

为变量设置默认值,避免无法处理的数据出现异常。

const getTitle = (obj)=>obj.title || "";

15. 使用 length 缩短数组

缩短数组的简单方法是重新定义它的长度属性,不过这样会更改数组,意味着将丢失数组中其他值。文章来源地址https://www.toymoban.com/news/detail-465058.html

const shortenArray = (arr, count) => {
    arr.length = count;
    return arr;
};
const array = [0, 1, 2, 3, 4, 5, 6, 6, 8, 9];
const shortArr = shortenArray(array, 4);
console.log(array); // [ 0, 1, 2, 3 ]
console.log(shortArr); // [ 0, 1, 2, 3 ]

// 修改后
const shortenArray = (arr, count) => {
    const arrTemp = [...arr];
    arrTemp.length = count;
    return arrTemp;
};
const array = [0, 1, 2, 3, 4, 5, 6, 6, 8, 9];
const shortArr = shortenArray(array, 4);
console.log(array); // [0, 1, 2, 3, 4, 5, 6, 6, 8, 9]
console.log(shortArr); // [ 0, 1, 2, 3 ]
 

到了这里,关于值得收藏的JavaScript 语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL 计算两个日期/时间之间相差的天数、分钟数、秒数...

    MySQL 中经常遇到计算两个日期或者时间之间相差的天数、周数、小时数、分钟、秒等等,下面分享一个MySQL内置的函数:TimeStampDiff() 这个函数是MySQL本身提供的可以计算两个时间间隔的函数。 语法: 返回日期或日期时间表达式 datetime_expr1 和datetime_expr2the 之间的整数差 其中

    2024年02月14日
    浏览(51)
  • java计算两个日期之间相差的天数的四种方法

    计算两个日期之间相差的天数的四种方法 第一种:时间戳的方式,计算两个日期的时间戳的差,再除当天的毫秒数即可得到相差的天数。 第二种:试用util包的Calendar类,每次增加一天,知道和结束时间相等的时候。 第三种:开始结束时间拆分为年月日,循环计算每年的天数

    2024年02月16日
    浏览(47)
  • 只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(上)

    目录 前言 settimeout/setinterval requestAnimationFrame 基本用法 时间戳参数 帧数与时间戳计算 自动暂停 JS中的贝塞尔曲线 概念 公式 二次贝塞尔 三次贝塞尔 N次贝塞尔 贝塞尔曲线+动画 动画类 在动画中使用贝塞尔 总结 相关代码: 贝塞尔曲线相关网站: 参考文章: 上篇文章我们详

    2024年02月16日
    浏览(84)
  • 只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(下)

    目录 前言 介绍 基本使用 关键帧 KeyframeEffect的三种类的声明 keyframes options 动画对象 全局Animation类 标签中的animate函数 总结 相关代码: 接着上文往下介绍,上篇文章我们对JS原生动画和贝塞尔曲线有了一个详细的认识,基于定时器或动画帧,我们可以实现元素的动画缓动,本

    2024年02月12日
    浏览(44)
  • 用 JavaScript 比较两个日期

    有人可以建议一种方法来使用 JavaScript 比较两个日期的值大于、小于和不过去吗?这些值将来自文本框。 打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始! Date object 将做您想做的事 - 为每个日期构造一个,然后使用 、、= 或 = 比较它们。 、!=、 = 和 !== 运算符要求

    2024年02月05日
    浏览(41)
  • 【华为OD机考 统一考试机试C卷】两个字符串间的最短路径问题(C++ Java JavaScript Python)

    目前在考C卷,经过两个月的收集整理, C卷真题已基本整理完毕 抽到原题的概率为2/3到3/3, 也就是最少抽到两道原题。 请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。 另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。

    2024年02月02日
    浏览(59)
  • 【华为OD机考 统一考试机试C卷】两个字符串间的最短路径问题(C++ Java JavaScript Python C语言)

    目前在考C卷,经过两个月的收集整理, C卷真题已基本整理完毕 抽到原题的概率为2/3到3/3, 也就是最少抽到两道原题。 请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。 另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。

    2024年01月25日
    浏览(46)
  • 计算日期到天数的换算

    目录 1.题目概述 2.题解 思路分析 具体实现 根据输入的日期,计算是这一年的第几天。 输入描述: 输入一行,每行空格分割,分别是年,月,日 输出描述 : 输出是这一年的第几天 示例: 输入:1982 3 4 输出:63 将每个月的天数保存在一个数组中,若输入年份是闰年,则二月

    2024年02月13日
    浏览(44)
  • 【案例】js 计算日期之间的天数

    new Date(\\\'2023-03-06\\\') 作用是转换成标准时间,再进行计算的,而不是转换为字符串在进行计算,切记啊!! 代码看起来只是传值的时候不一样;而实际转换时有区别

    2024年02月06日
    浏览(45)
  • C++类相关oj题目分享(计算日期到天数转换、日期差值、打印日期、日期累加)

    传送门 首先我们知道肯定是用一个数组来储存每个月的天数,更加方便。同时默认2月是28天,如果是闰年就是29。 总体的计算思路是: 1 月到 month-1 月的所有天数,加上 month 月的 day 。使用for循环能正好契合这个思路 当然这题的思路和解法非常多,我这也只是其中一个。 传

    2024年01月20日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包