分享 13 个有用的 JavaScript 片段,提升你的工作效率

news2024/11/17 7:33:38

044c6f081b3be56dc96dc9ecebbaccfa.jpeg

JavaScript 是您可以学习的最流行的语言之一。当我开始学习 JavaScript 时,我总是在 StackOverflow、medium 和其他博客上寻找代码片段。在这篇文章中,我将分享我发现它们有用的 15 个 JavaScript 代码片段。

1. 不循环地重复字符串

此 JS 片段将展示如何在不使用任何循环的情况下重复字符串。我们将使用 JS 构建的方法来重复(),通过在其中传递一个数字,该数字将充当您需要循环次数的数字。

//Old Method
for(var i = 0; i<5; i++)
{
  console.log("") // 
}
// Best Method
console.log("".repeat(5)) //

2. 数组的区别

另一个很棒的片段可以让你在数组中脱颖而出。当您处理长数组并想了解该数组的相似点或不同点时,这会派上用场。下面的示例代码将加深您的理解,您可以在您的 JS 项目中自由使用该代码。

//Code Example
function ArrayDiff(a, b){
  const setX = new Set(a)
  const setY = new Set(b)
return [
    ...a.filter(x=>!setY.has(x)),
    ...b.filter(x=>!setX.has(x))
  ]
}
  const Array1 = [1, 2, 3];
  const Array2 = [1, 2, 3, 4, 5];
console.log(ArrayDiff(Array1, Array2)) // [4, 5]

3. String是否为Json

当您需要检查数据是字符串还是 JSON 时,此代码片段会派上用场。假设您从服务器端收到响应并解析该数据,您需要检查它是 JSON 还是字符串。检查下面的代码片段。

//Code Example
function isJSON(str)
{
  try
  {
      JSON.parse(str)
  }
  catch
  {
      return false
  }
return true
}
var str = "JavaScript"
console.log(isJSON(str)) //false

4. 简短的Console.log

厌倦了一次又一次地编写 console.log() 吗?不用担心这个片段会为您节省大量编写长 console.log() 的时间。

var cl = console.log.bind(document)
cl(345) 
cl("JAVASCRIPT")
cl("PROGRAMMING") 
<--Give it a try!-->

5.全部替换

此代码片段将向您展示如何替换字符串中的单词,而无需迭代每个单词、匹配它并放置新单词。下面的代码片段使用了replaceAll(Target Word, New Word)方法。

//Code Example
var str = "Python is a Programming Language, Python is a top programming language and favourite of every developer"
str = str.replaceAll("Python", "JavaScript")
console.log(str) // JavaScript is a Programming Language, JavaScript 5is a top programming language and favourite of every developer

6. 数字到数字数组

此代码片段对于将数字转换为数字数组非常有用。使用带映射的扩展运算符,我们可以在一秒钟内完成此操作。试一试:

//example code
const NumberToArray = number => [...`${number}`].map(i => parseInt(i));
console.log(NumberToArray(86734)) //[8,6,7,3,4]
console.log(NumberToArray(1234)) //[1,2,3,4]
console.log(NumberToArray(9000)) //[9,0,0,0]

7. 数字转二进制

此代码片段将使用 toString() 方法将数字简单地转换为二进制。看一下下面的代码示例。

var n1 = 500
console.log(n1.toString(2)) // 111110100
var n2 = 4
console.log(n2.toString(2)) // 100
var n3 = 5004
console.log(n3.toString(2)) // 1001110001100

8.从数组中删除元素

当您需要从数组中删除元素时,此代码片段会派上用场。在下面的代码片段示例中,我们使用了 array.slice() 内置方法。

const DropElement = (array, num = 1) => array.slice(num);
console.log(DropElement([2,45,6,7],2)) //[6, 7]
console.log(DropElement([2,45,6,7],1)) //[45, 6, 7]

9. 反转字符串

现在您不需要循环遍历字符串来反转它。此代码片段将展示如何使用扩展运算符(…)和reverse()函数来反转字符串。这在反转大字符串时非常方便,您需要为此提供快速的代码片段。检查下面的代码示例。

//example code
function Reverse(str){
return [...str].reverse().join('');
}
console.log(Reverse("data")) //atad
console.log(Reverse("Code")) //edoC

10、 展平深度数组

展平数组是将任何有序数组和二维数组转换为一维数组的过程。简而言之,您可以减少数组的维数。您已经看过“展平数组”片段代码,但是深度展平数组又如何呢?当您有一个大的有序数组并且正常的展平对其不起作用时,此代码片段非常有用。为此,您需要深度平整。

//example code
function DeepFlat(array)
{
  return [].concat(...array.map(value=>  (Array.isArray(value) ? DeepFlat(value) : value)));
}
console.log(DeepFlat([1,[2,[4,6,6,[9]],0,],1])) // [1, 2, 4, 6, 6, 9, 0, 1]

11.计算字节大小

每个程序员都希望他们的 JavaScript 程序高效并具有良好的性能。为此,我们需要确保拥有一定大小的数据,不会使内存过载。查看下面的代码片段,了解如何检查任何数据的字节。

// byte size calculation
const ByteSize = string => new Blob([string]).size;
console.log(ByteSize("Codding")) // 7 
console.log(ByteSize(true)) // 4
console.log(ByteSize("")) // 4

12. 数组到 CSV

CSV 是当今广泛使用的电子表格,您可以使用如下所示的简单代码片段将数组转换为 CSV。

// Code Example
const ArrayToCsv= (array, delimiter =',')=> array.map(value => value.map(num => `"${num}"`).join(delimiter)).join('\n');
console.log(ArrayToCsv([['name', 'age'], ['haider', '22'], ['Peter', '23']]))
// Output
// "name","age"
// "haider","22"
// "Peter","23"

13. 数组的最后一个元素

现在您不再需要迭代或循环整个数组并提取最后一个元素。您可以使用下面的简单代码片段执行相同的操作。

//code example
const LastElement = array => array[array.length - 1];
console.log(LastElement([2,3,4])) // 4
console.log(LastElement([2,3,4,5])) // 5
console.log(LastElement([2,3])) // 3

结束

由于文章内容篇幅有限,今天的内容就分享到这里,文章结尾,我想提醒您,文章的创作不易,如果您喜欢我的分享,请别忘了点赞和转发,让更多有需要的人看到。同时,如果您想获取更多前端技术的知识,欢迎关注我,您的支持将是我分享最大的动力。我会持续输出更多内容,敬请期待。

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

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

相关文章

<C++> STL_string

目录 1.string类 2.string类的接口 2.1 成员函数 2.1.1 string构造函数 2.1.2 string赋值运算 2.1.3 string析构函数 2.2 string对象访问以及迭代器 2.2.1 string的遍历方式 2.2.2 迭代器的使用 2.2.3 const_迭代器的使用 2.2.4 at 2.2.5 back和front 2.3 string容…

手机防窥膜对眼睛危害非常大,快速避坑,避免智商税!

背景 如果你的手机贴了防窥膜&#xff0c;在室外阳光下你想看清楚机屏幕上的文字&#xff0c;是不是有个动作就是调亮屏幕&#xff01;因为防窥膜透光率比较低&#xff0c;那你就得提高手机亮度。 国产的防窥膜透光率只有30%左右韩国进口防窥膜的透光率在50%左右 透光率越低意味…

Semantic Kernel 入门系列:Kernel 内核和Skills 技能

理解了LLM的作用之后&#xff0c;如何才能构造出与LLM相结合的应用程序呢&#xff1f; 首先我们需要把LLM AI的能力和原生代码的能力区分开来&#xff0c;在Semantic Kernel&#xff08;以下简称SK&#xff09;&#xff0c;LLM的能力称为 semantic function &#xff0c;代码的…

innovus设置size only的方法

dbSet [dbGetInstByName $inst].dontTouch sizeOk 我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口

【BMC】OpenBMC使用基础(WSL2版本)

代码准备 OpenBMC是一个开源的项目&#xff0c;用于开发BMC固件。官网是https://www.openbmc.org/&#xff0c;不过里面似乎没有什么内容&#xff0c;所以还需要依赖其它的网站&#xff0c;https://github.com/openbmc&#xff0c;在这里可以下载到需要的代码和文档。其主体部…

工作中遇到的关于配置问题

工作中遇到的问题 想记录一下 一个程序员小白每天遇到的问题 1.创建了一个Maven的web工程&#xff0c;但是启动一直是404&#xff0c;原服务器未能找到目标资源 解决办法&#xff1a; 选择deployment&#xff0c;点击加号选择war格式就OK啦 目录里面无法创建类&#xff0…

如何在面试IT公司时展现出色的表现

在面试IT技术岗位的过程中&#xff0c;展现出色的表现是至关重要的。下面我将分享一些我个人的经验和观察&#xff0c;希望对大家有所帮助。 首先&#xff0c;提前准备是非常重要的。在面试前&#xff0c;你应该充分了解目标公司的业务和技术需求。这样你就能更好地回答面试官…

一些高频的C++ cache line面试

C那些事之False Sharing与Cache line 最近看到一段代码&#xff0c;手动做的对齐&#xff0c;于是研究一下不对齐又会带来什么影响&#xff1f; template <typename T> class AtomicWithPadding {private:static constexpr int kCacheLineSize 64;uint8_t padding_befor…

HTML+CSS+JavaScript:轮播图的自动播放、手动播放、鼠标悬停暂停播放

一、需求 昨天我们做了轮播图的自动播放&#xff0c;即每隔一秒自动切换一次 今天我们增加两个需求&#xff1a; 1、鼠标点击向右按钮&#xff0c;轮播图往后切换一次&#xff1b;鼠标点击向左按钮&#xff0c;轮播图往前切换一次 2、鼠标悬停在轮播图区域中时&#xff0c;…

闲鱼链接生成 仿闲鱼链接搭建

教程&#xff1a;修改数据库账号密码直接使用。 源码带有教程! 下载程序&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

layui框架学习(36:数据表格_复杂表头)

table数据表格模块中的col属性支持配置复杂表头&#xff0c;其为二维数组&#xff0c;用于描述复杂表头中每个表头单元格的位置和尺寸信息&#xff08;colspan和rowspan描述表头单元格所占行数和列数&#xff09;。   从参考文献2-3给出的示例来看&#xff0c;描述复杂表头的…

[数学公式] 1秒移动x米是多少码 x码一秒钟移动几米

1秒移动x米是多少码&#xff1a;3.6x码 x码一秒钟移动几米&#xff1a;

6、用restful风格写controller方法接口,单元测试依赖

编写单元测试&#xff0c;用restful风格写controller方法 单元测试依赖 实际项目开发中&#xff0c;单元测试与业务代码通常都会要求同步进行 TDD测试驱动开发&#xff1a;先编写单元测试&#xff0c;然后努力去开发业务代码去满足所有的单元测试用例。 添加SpringBoot的测试…

LeetCode_双指针_中等_143.重排链表

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → L~n - 1~ → Ln 请将其重新排列后变为&#xff1a; L0 → Ln → L1 → L~n - 1~ → L2 → L~n - 2~ → … 不…

python网站创建006:常见CSS样式

1. 给标签添加样式有三种方式(在标签上添加、在head中添加、通过独立文件添加)。 其中(在head中添加、通过独立文件添加)是有选择器存在的 直接在标签上添加 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><tit…

如何部署Redis哨兵

目录 一、Redis数据库 二、Redis哨兵模式 三、部署Redis哨兵 第一步 关闭防火墙和安全机制 第二步 修改Redis配置文件 第三步 开启Master主节点 第四步 查看哨兵信息 一、Redis数据库 ●主从复制&#xff1a;主从复制是高可用Redis的基础&#xff0c;哨兵和集群都是在主…

使用 python 读取Excel文件并转换为时间格式

通过Excel 做配置文件调整参数&#xff0c;转换为实时参数&#xff1a; naclo_reduce_ratio pd.read_excel(./config/naclo_reduce_ratio.xlsx, header0) # col_name [Time, r1, r2]time_lst [] for i, row in naclo_reduce_ratio.iterrows():now_time_lst str(row[Time]…

Linux常用命令——dpkg-query命令

在线Linux命令查询工具 dpkg-query Debian Linux中软件包的查询工具 补充说明 dpkg-query命令是Debian Linux中软件包的查询工具&#xff0c;它从dpkg软件包数据库中查询并辨识软件包的信息。 语法 dpkg-query(选项)(参数)选项 -l&#xff1a;列出符合匹配模式的软件包&…

Android studio修改app图标

步骤如下&#xff1a; 1.右键app名称→New→ImageAsset 2. 进行下面的配置 图源&#xff1a;https://blog.csdn.net/Qingshan_z/article/details/126661650 3.配置分辨率 4.图标自动保存在mipmap文件夹下 再启动就更换成功了&#xff01;&#xff01;&#xff01; 参考&…

10、自定义配置文件和自定义失败分析器

自定义配置文件及失败分析器 改变项目配置的方式 默认行为&#xff1a; Spring Boot默认的配置文件&#xff1a;调用SpringApplication的run()方法启动Spring Boot应用时&#xff0c;Spring Boot会自动加载主配置类&#xff08;run方法第一个参数、该参数要用SpringBootAppli…