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

news2024/12/25 12:45:12

目录

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>
			// JavaScript
			const 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.coloradmin.cn/o/1562036.html

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

相关文章

STM32之HAL开发——QSPI协议介绍

QSPI协议 OSPI是Oueued SPl的简写&#xff0c;是Motorola公司推出的 SPI接口的扩展&#xff0c;比SPI应用更加广泛。在 SPI协议的基础上&#xff0c;Motorola公司对其功能进行了增强&#xff0c;增加了队列传输机制&#xff0c;推出了队列串行外围接口协议(即 OSPI协议)。OSPI…

微服务(基础篇-008-es、kibana安装)

目录 05-初识ES-安装es_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LQ4y127n4?p81&vd_source60a35a11f813c6dff0b76089e5e138cc 1.部署单点es 1.1.创建网络 1.2.加载镜像 1.3.运行 2.部署kibana 2.1.部署 2.2.DevTools 3.安装IK分词器 3.1.在线安装ik…

机器学习 - 手动实现 ReLU 和 Sigmoid

直接上代码 import torch import matplotlib.pyplot as pltA torch.arange(-10, 10, 1, dtypetorch.float(32)) def relu(x):return torch.maximum(torch.tensor(0), x) plt.plot(relu(A))结果如下&#xff1a; import torch import matplotlib.pyplot as pltA torch.aran…

基于架构的软件开发方法_1.概述和相关概念及术语

1.体系结构的设计方法概述 基于体系结构的软件设计&#xff08;Architecture-Based Software Design&#xff0c;ABSD&#xff09;方法。ABSD方法是由体系结构驱动的&#xff0c;即指由构成体系结构的商业、质量和功能需求的组合驱动的。 使用ABSD方法&#xff0c;设计活动可以…

Reversing Linked List

Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K3, then you must output 3→2→1→6→5→4; if K4, you must output 4→3→2→1→5→6. Input Specifi…

Ubuntu joystick 测试手柄 xbox

Ubuntu joystick 测试手柄 xbox 测试使用Ubuntu20.04 测试环境在工控机 安装测试 实际测试使用的手柄是北通阿修罗2pro 兼容xbox Ubuntu20.04主机 连接手柄或者无线接收器后查看是否已经检测到&#xff1a; ls /dev/input找到输入中的 js0 即为手柄输入 需要安装joysti…

new mars3d.layer.XyzLayer({的rectangle瓦片数据的矩形区域范围说明

new mars3d.layer.XyzLayer({的rectangle瓦片数据的矩形区域范围说明 2.这个xyz图层的矩形区域范围rectangle从图层文件中无法获取&#xff0c;但是看图层文件可以知道这个是12-21级的数据。 3.一般这个图层数据文件服务会有提供相应的rectangle范围&#xff0c;在服务的xml文…

Centos 7 安装通过yum安装google浏览器

在CentOS 7上使用yum安装Google Chrome浏览器稍微复杂一些&#xff0c;因为Chrome并不直接包含在默认的Yum仓库中。按照以下步骤来操作&#xff1a; 1、添加Google Chrome仓库 首先&#xff0c;您需要手动添加Google Chrome的Yum仓库。打开终端&#xff0c;并使用文本编辑器&a…

NAT地址转换内外网通信

实验要求&#xff1a;内网地址通过nat转换成外网地址&#xff0c;联通外网服务器&#xff0c;达到内网外网互通 拓扑结构&#xff1a; 配置完成后&#xff0c;在ar1的G1口设置抓包&#xff0c;在pc1设备上ping ar2的地址&#xff0c;通过查看抓包信息&#xff0c;可以看到访问…

web安全学习笔记【21】——安全开发

安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用 #知识点&#xff1a; 1、PHP留言板前后端功能实现 2、数据库创建&架构&增删改查 3、内置超全局变量&HTML&JS混编 4、第三方应用插件&传参&对象调用 DAY1 #章…

图解PyTorch中的torch.gather函数和 scatter 函数

前言 torch.gather在目前基于 transformer or query based 的目标检测中&#xff0c;在最后获取目标结果时&#xff0c;经常用到。 这里记录下用法&#xff0c;防止之后又忘了。 介绍 torch.gather 官方文档对torch.gather()的定义非常简洁 定义&#xff1a;从原tensor中获…

苹果App上架指南

苹果上架要求是苹果公司对于提交应用程序到苹果商店上架的要求和规定。这些要求主要是为了保证用户体验、应用程序的质量和安全性。以下是苹果上架要求的详细介绍&#xff1a;1. 应用程序的内容和功能必须符合苹果公司的规 苹果上架要求是苹果公司对于提交应用程序到苹果商店上…

iPhone设备中调试应用程序崩溃日志的高效方法探究

​ 目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么&#xff1f; 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分析 总结 摘要 本文介绍了如何在iPhone设备中查看崩溃日志&#xff0c;以便调查崩溃的原因。我们将展示三种不同的…

基于YOLOv8的绝缘子检测系统

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文摘要&#xff1a;基于YOLOv8的绝缘子小目标检测&#xff0c;阐述了整个数据制作和训练可视化过程 1.YOLOv8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的&a…

iPhone设备中定位应用程序崩溃问题的日志分析技巧

​ 目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么&#xff1f; 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分析 总结 摘要 本文介绍了如何在iPhone设备中查看崩溃日志&#xff0c;以便调查崩溃的原因。我们将展示三种不同的…

iPhone设备中通过开发者选项查看应用程序崩溃日志的实用技术

​ 目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么&#xff1f; 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分析 总结 摘要 本文介绍了如何在iPhone设备中查看崩溃日志&#xff0c;以便调查崩溃的原因。我们将展示三种不同的…

[Rust开发]用可视化案例讲Rust编程6.动态分发与最终封装

全系列合集 [Rust开发]用可视化案例讲Rust编程1.用Rust画个百度地图 [Rust开发]用可视化案例讲Rust编程2. 编码的核心组成&#xff1a;函数 [Rust开发]用可视化案例讲Rust编程3.函数分解与参数传递 [Rust开发]用可视化案例讲Rust编程4.用泛型和特性实现自适配shapefile的读取 […

目标检测——服饰属性标签识别数据集

一、重要性及意义 首先&#xff0c;随着电商、时尚推荐等业务的发展&#xff0c;服饰属性标签识别已经成为一项关键的计算机视觉任务。这些标签&#xff0c;如颜色、款式、材质等&#xff0c;对于实现图像搜索、时尚推荐等业务需求至关重要。服饰属性标签识别数据集为此类任务…

用ChatGPT出题,完全做不完

最近小朋友正在学习加减法&#xff0c;正好利用ChatGPT来生成加减法练习题&#xff0c;小朋友表示够了&#xff0c;够了&#xff0c;完全做不完。本文将给大家介绍如何利用ChatGPT来生成练习题。 尚未获得ChatGPT的用户&#xff0c;请移步&#xff1a;五分钟开通GPT4.0。 角色…

谷粒商城实战(007 压力测试)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第141p-第p150的内容 简介 安装jmeter 安装jmeter 使用中文 这样写就是200个线程循环100次 一共是2万个请求 介绍线程组 添加请求 可以是htt…