12个解决日常问题的JavaScript代码片段
1、破坏赋值
在 JavaScript 中,您可以使用析构方法将数组中的值解包并将它们分配给其他变量。 // 1. Destructive Assignment const data = ["Paul", "too old", "Software Engineer"] const [name, age, job_title] = data console.log(name, age, job_title) // Paul too old Software Engineer
2、在Array中查找对象
JavaScript find() 方法可用于搜索数组以查找特定对象。 // 2. Find an object in Array const employess = [ {name: "Paul", job_title: "Software Engineer"}, {name: "Peter", job_title: "Web Developer"}, {name: "Harald", job_title: "Screen Designer"}, ] let sen = employess.find(data => data.job_title === "Software Engineer") console.log(sen) // { name: "Paul", job_title: "Software Engineer" }
3、反转字符串
以下代码段可用于在不使用循环的情况下反转任何字符串。 // 3. Reverse a String const reverse = (input) => { return input.split("").reverse().join(""); } console.log(reverse("Paul Knulst")) // tslunK luaP console.log(reverse("Medium is awesome")) // emosewa si muideM
4、带有占位符的模板文字
如果您使用模板文字,您可以借助 ${} 方法在字符串中包含变量。 // 4. Placeholder in Strings let placeholder1 = "Engineer"; let placeholder2 = "Developer"; console.log(`I"m a Software ${placeholder1}`); // I"m a Software Engineer console.log(`I"m a Software ${placeholder2}`); // I"m a Software Developer
5、单行 if-else 语句
对于 JavaScript 中的简单 if-else 语句,您可以使用单行方法来执行它。 // 5. One-Line if-else Statement // normal if (13 > 37) { console.log(true); } else { console.log(false) } // One liner 13 > 37 ? console.log(true) : console.log(false)
6、摆脱重复
在 JavaScript 中,有一种简单的方法可以从任何输入数组中去除重复项。当数组中有很多元素并且可能有一些重复项时,这非常方便。
以下代码段将展示如何使用 Set 数据类型来实现此目的 // 6. Get Rid of Duplicates function removeDuplicates(array) { return [...new Set(array)]; } const uniqueStr = removeDuplicates(["Paul", "John", "Harald", "Paul", "John"]) const uniqueNr = removeDuplicates([1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 9]) console.log(uniqueStr) // [ "Paul", "John", "Harald" ] console.log(uniqueNr) // [1, 2, 3, 4, 5, 6, 7, 9]
7、将字符串拆分为数组
如果您想将字符串拆分为数组,可以使用以下代码片段 // 7. Split String to Array const randomString = "Software" const newArray = [...randomString] console.log(newArray) // ["S", "o", "f", "t", "w", "a", "r", "e"]
8、捕获右键单击
如果使用 JavaScript 并希望在用户使用时捕获右键单击以执行某些代码。 // 8. Capture Right Click // only usable in HTML/JS window.oncontextmenu = () => {console.log("Right Click is Pressed!")}
9、遍历键和值
这个有用的片段可用于迭代字典数据的键(或值)。为此,您可以检索键/值并使用 forEach 函数。 // 9. Looping through Keys and Values const programming_languages = {JavaScript: 1, Kotlin: 2, Python: 3}; Object.keys(programming_languages).forEach((key) => { console.log(key); }); // JavaScript // Kotlin // Python Object.values(programming_languages).forEach((key) => { console.log(key); }); // 1 // 2 // 3
10、智能数据过滤
使用 JavaScript 内置的 Filter 方法过滤您的数据。如果您的输入有大量数据并且您只需要输入数组中的特定数据,这很重要。 // 10. Smart Data Filteration const jobs = ["Frontend Developer", "Backend Developer", "Data Scientist", "Teacher"] const filtered_jobs1 = jobs.filter(data => data.length < 10) const filtered_jobs2 = jobs.filter(data => data.includes("Developer")) console.log(filtered_jobs1) // [ "Teacher" ] console.log(filtered_jobs2) // [ "Frontend Developer", "Backend Developer" ]
11、空合并运算符
空合并运算符 (??) 是一个逻辑运算符,当其左侧操作数为空或未定义时返回其右侧操作数,否则返回其左侧操作数。 // 11. Nullish coalescing operator const foo = null ?? "default string"; const baz = 0 ?? 42; console.log(foo); // default string console.log(baz); // 0
12、错误处理
在编程中,开发过程中总会发生错误。为了避免您的程序崩溃,您可以使用 try-catch 语句。这是每个编程语言中的一种众所周知的语法,用于捕获运行时错误。 // 12. Error Handling function getRectArea(width, height) { if (isNaN(width) || isNaN(height)) { throw "Parameter is not a number!"; } } try { getRectArea(3, "A") } catch (err) { console.log(`There was an error: ${err}`) } finally { console.log("This code block is executed regardless of try/catch results") }
AMD白皮书选择EPYC处理器不再交Intel税中关村在线消息AMD撰写了一份白皮书向企业级用户再次推销EPYC处理器,这一次AMD的重点放在了Intel税上,称自己绝不会这么做。AMD在白皮书中写道,IntelXeon处理器拥
AMD用我们的处理器,免交英特尔税3月28日消息AMD最近发布了一份白皮书,推荐了自家的EPYC(霄龙)服务器处理器系列,并表示这可以免交所谓的英特尔税。在白皮书中,AMD将英特尔税描述为为获得所需功能性能,必须为
交通运输部完善十纵十横综合运输大通道来源央视新闻客户端今天国新办举行新闻发布会,交通运输部介绍了我国提高综合交通运输网络效率降低交通运输物流成本的情况。交通运输部新闻发言人吴春耕介绍,交通运输部研究制定了提高综合交通
联想控股发布2018年业绩整体营收3589亿元,净利43。62亿元记者王付娇3月28日,联想控股股份有限公司(股份代号3396。HK)于今日宣布其截至2018年12月31日止12个月之经审计全年业绩。2018年,全年公司收入为人民币3589。20
HR要小心了!求职者吐槽面试体验差,竟引来CEO回复近期,有位脉脉用户在平台上发表了一次糟糕的面试体验。楼主表示,搜狗的面试真的是垃圾!面试官进来就玩手机刷微信,且还直接拿起来对着候选人刷,生怕别人不知道他(她)玩手机从没见过这么不
一块219比例屏幕,能为索尼Xperia10Plus带来什么?全面屏已经引领了过去智能手机行业一整年的发展潮流,有越来越多的厂商正试图打破主流方案,尝试将一些新点子带到我们最常用的移动设备上。其中就有选择在宽高比上动手脚的,比如今年新推出的索
电商工厂狂热背后的断层代工制造,现代工业体系里的重要底层,却离普通消费者甚远。不久前结束的两会,制造业工业互联网成为热议话题,政府政策释放的信号也很明显2019年,社会和行政资源会向实体经济倾斜。电商工
网课野蛮生长音乐网课频现低级错误涉事老师离职名师直播课一对一辅导在线教育已经越来越成为学校教育的有力补充。然而,在蓬勃发展的同时,规则的缺失经验的不足发展阶段的不成熟,不可避免地导致了在线教育的野蛮生长。日前,有乐评人在微博
开车错过重要电话了吗,天龙真无线降噪耳机戴起来开车的时候不方便接电话,但是经常因为在车上,错过很多重要的客户。其实用真无线耳机就可以解决这些问题,随身佩戴一款,来电话的时候可以随时接听,并不会影响开车。天龙AHC830NCW真
北京上万件节能产品可享绿色消费补贴北京商报讯(记者王维祎)4月17日,北京苏宁易购联合惠普格力方太等各品牌商共同启动北京绿色节能消费节。北京苏宁易购总经理郝嘉表示,公司将全面参与此次北京市商务局推出的北京绿色节能消
北京晚报评论线上卖菜,质量别菜据法治日报报道,有关网上买菜的用户体验中,不乏产品质量瑕疵定价定量无标准缺斤短两售后维权难等问题。在第三方平台进行检索,相关食品质量投诉超过千条,涉及多个不同的生鲜电商平台,有人买