前端常用代码整理— js,jquery篇(3)

目录

1.判断是否是json字符串

2.获取当前网址

3.将文本复制到剪贴板

4.获取一个月的天数

5.展平数组

6.要修改getRandomItem函数以返回数组中的随机两个元素,可以尝试以下代码


 

1.判断是否是json字符串
const isJson = str => {try {JSON.parse(str);return true;} catch (e) {return false;}
};
console.log(isJson('{"name":"小明","address":"苏州"}'));  //true
console.log(isJson('{"name":"小王",address:"南京"}'));   //false
2.获取当前网址
const currentURL = () => window.location.href;
currentURL()
3.将文本复制到剪贴板
const copyTextToClipboard = async (text) => {await navigator.clipboard.writeText(text)}// 请注意,此函数是异步的,因为 writeText 函数返回一个 Promise。// 但是,如果您想支持 Internet Explorer 等旧版浏览器,则必须采用以下方法:此解决方案依赖于输入字段,而不是之前的基于 Promise 的解决方案。// HTML<input id="input" type="text" value="This is the text that gets copied"><button id="copy">Copy the text</button>// JavaScriptconst copy = () => {const copyText = document.querySelector('#input')copyText.select()document.execCommand('copy')}document.querySelector('#copy').addEventListener('click', copy)
4.获取一个月的天数
const daysInMonth = (month, year) => new Date(year, month, 0).getDate()
daysInMonth(2, 2024)// 29
daysInMonth(12, 2022)// 31
5.展平数组
const flatten = (arr) => arr.reduce((a, b) => (Array.isArray(b) ? [...a, ...flatten(b)] : [...a, b]), [])flatten([[1, 2], [3, 4], [5, 6]])// [1, 2, 3, 4, 5, 6]flatten([["some", "text"], "and", ["some", "more"]])// ['some', 'text', 'and', 'some', 'more']但是还有一种更短的方法可以实现这一点。我们可以在数组上调用 flat 方法并获得相同的结果。但是,此功能尚不完全支持。尤其是在老版本的几个浏览器中,缺乏对这个功能的支持。[[1, 2], [3, 4], [5, 6]].flat()// [1, 2, 3, 4, 5, 6][["some", "text"], "and", ["some", "more"]].flat()// ['some', 'text', 'and', 'some', 'more']
6.要修改getRandomItem函数以返回数组中的随机两个元素,可以尝试以下代码
const getRandomItems = (arr, count) => {const shuffled = arr.slice().sort(() => 0.5 - Math.random());return shuffled.slice(0, count);}console.log(getRandomItems([1, 7, 9, 3, 6], 2)); // [ 7, 9 ]console.log(getRandomItems([{ name: "Ted" }, { name: "Philip" }, { name: "Jack" }], 2)); // [ { name: 'Jack' }, { name: 'Philip' } ]console.log(getRandomItems([{ name: "Ted" }, 1, "Some text", 4, { name: "Jack" }], 2));

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/785618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试题(含答案)4.多线程与并发篇

Java多线程与并发编程是一个广泛而深入的主题&#xff0c;因此涵盖所有可能的面试题和答案是不切实际的。不过&#xff0c;我可以为您提供一些常见的Java多线程与并发编程面试题及其答案&#xff0c;以帮助您准备面试。 面试题1&#xff1a;什么是Java中的线程&#xff1f; 答…

uniapp项目--青年帮新闻项目

文章目录 uniapp项目--青年帮新闻项目1.项目提要2.实际代码 uniapp项目–青年帮新闻项目 1.项目提要 导航滚动实现滚动条消失&#xff0c;使用的效果是渗透。 /deep/ ::-webkit-scrollbar {width: 4px !important;height: 1px !important;overflow: auto !important;backgroun…

Python:文件读写

一、TXT文件读写 Python中用open()函数来读写文本文件&#xff0c;返回文件对象&#xff0c;以下是函数语法。 open(<name>, <mode>, <buffering>&#xff0c;<encoding)name&#xff1a;文件名。 mode&#xff1a;打开文件模式。 buffering&#xff1a;设…

通过 Cookie、Session 和 Spring 拦截器技术,实现对用户登录状态的持有和清理(一)

本篇博客对应“2.3 会话管理”小节 视频名称&#xff1a;会话管理 视频链接 什么是HTPP协议&#xff1f; HTTP&#xff0c;Hpyer Text Transfer Protocl&#xff1a;定义了浏览器怎样从&#xff08;万维网客户进程&#xff09;怎样向Web服务器&#xff08;万维网服务器&#…

vue 文件下载

1.返回路径下载 注: 针对一些浏览器无法识别的文件格式&#xff08;如pdf、xls、ppt&#xff09;。可以直接在地址栏上输入URL即可触发浏览器的下载功能。 情况1 //地址栏输入文件URLwindow.location.href URLwindow.open(URL) 注:该方式将下载逻辑放在后端处理&#xff0c…

Mysql的高级语句3

目录 一、子查询 注意&#xff1a;子语句可以与主语句所查询的表相同&#xff0c;但是也可以是不同表。 1、select in 1.1 相同表查询 1.2 多表查询 2、not in 取反&#xff0c;就是将子查询结果&#xff0c;进行取反处理 3、insert into in 4、update…

IO练习题

1&#xff1a;使用 dup2 实现错误日志功能 使用 write 和 read 实现文件的拷贝功能&#xff0c;注意&#xff0c;代码中所有函数后面&#xff0c;紧跟perror输出错误信息&#xff0c;要求这些错误信息重定向到错误日志 err.txt 中 #include <myhead.h>//文件IO实现文件拷…

实现offsetof宏以及交换一个整数二进制奇偶位的宏

目录 1. offsetof宏2. 交换奇偶位 1. offsetof宏 我们想用宏来实现offsetof函数,首先要了解这个函数的用法。 1.1 offsetof函数的介绍及用法 &#xff08;1&#xff09;功能&#xff1a;用来计算结构体中一个成员在该结构体中的相对起始位置的偏移量&#xff0c;单位是字节。 …

ClamAV:Linux服务器杀毒扫描工具

Clam AntiVirus&#xff08;ClamAV&#xff09;是免费而且开放源代码的防毒软件&#xff0c;软件与病毒码的更新皆由社群免费发布。ClamAV在命令行下运行&#xff0c;它不将杀毒作为主要功能&#xff0c;默认只能查出系统内的病毒&#xff0c;但是无法清除。需要用户自行对病毒…

每周编辑精选|免费使用 Sora 平替、在线运行 Python 基础教程、MCFEND 中国假新闻检测数据集上线

继 ChatGPT 后&#xff0c;OpenAI 又发布了爆炸级产品——Sora 文生视频模型&#xff0c;当其他模型还在努力突破几秒内的连贯性问题时&#xff0c;Sora 已经将视频时长拉到了 60s。不过&#xff0c;目前 Sora 模型仅对小部分研究人员和创意人士开放访问权限。 别担心&#xf…

linux 创建py文件自启动服务

1、新建Python文件 test.py文件内容 print("test service ") 2、新建启动文件 testservice.sh #!/bin/shpython3 test.py 3、新建启动服务 /usr/lib/systemd/system/testservice.service [Unit] Descriptiontestservice Afternetwork.target[Service] ExecSt…

C语言之位段

1.位段的声明 位段的声明和结构是类似的&#xff0c;有两个不同&#xff1a; 1.位段的成员必须是 int、unsigned int 或signed int 。 2.位段的成员名后边有一个冒号和一个数字。 比如&#xff1a; struct A {int _a:2;int _b:5;int _c:10;int _d:30; }; A 就是一个位段类型…

【上海大学计算机组成原理实验报告】二、数据传送实验

一、实验目的 了解在模型机中算术、逻辑运算单元的控制方法。学习机器语言程序的运行过程。通过人工译码&#xff0c;加深对译码器基本工作原理的理解。 二、实验原理 根据实验指导书的相关内容&#xff0c;本次实验所要用的CP226实验仪在手动方式下&#xff0c;运算功能通过…

LeetCode-热题100:160. 相交链表

给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&…

centos7 安装 mysql

命令记录&#xff0c;未整理&#xff1b; 1. 下载mysql5.7的安装包&#xff0c;上传到linux系统某个目录中 2. 使用tar -xvf 解压 tar包 tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar 3. 使用 rpm -ivh 安装 mysql rpm -ivh mysql-community-common-5.7.35-1.el7.x8…

数据库学习案例2024-MySQL参数解析总结

MySQL参数log_bin_trust_function_creators介绍 简单介绍一下&#xff0c;当二进制日志启用后&#xff0c;这个变量就会启用。它控制是否可以信任存储函数创建者&#xff0c;不会创建写入二进制日志引起不安全事件的存储函数。如果设置为0&#xff08;默认值&#xff09;&#…

python 三层架构思想写代码。

在 Python 中实现数据库操作的三层架构一般包括以下三层&#xff1a; 数据访问层&#xff08;Data Access Layer&#xff09;&#xff1a;负责与数据库进行交互&#xff0c;执行 SQL 查询和更新操作。 业务逻辑层&#xff08;Business Logic Layer&#xff09;&#xff1a;处理…

视频号小店在哪里登录?入驻的时候需要什么资质?

我是电商珠珠 视频号小店距离现在发展了不过一年多的时间&#xff0c;作为一个新平台就代表着很多机会、红利。所以有很多商家都看准了&#xff0c;准备往这个平台上发展。作为新手来说&#xff0c;还不知道视频号小店登录注册入口以及入驻的时候需要什么资质&#xff0c;接下…

Go语言学习Day6:数组与切片

名人说&#xff1a;莫愁千里路&#xff0c;自有到来风。 ——钱珝 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1. 数组① 什么是数组② 数组的声明③ 初始化数组的几种方式④ 遍历数组元素⑤ 数组为值类型⑥ 数…

禁止软件访问外网

WINDOWS平台上,在特殊情况下我们要防止一些软件偷偷访问外网,比如ResEdit.exe一联网就当掉,只要把WINDOWS的防火墙功能打印,将下面脚本保存为rbt_runas_admin_firewall_block_exe_in_dir.cmd ::runas /user:administrator cmd echo 右击以管理员方式运行 cd /d %~dp0 for /r …