解决日常工作问题的12个 JS 代码片段

目录
文章目录隐藏
  1. 1、破坏赋值
  2. 2、在 Array 中查找对象
  3. 3、反转字符串
  4. 4、带有占位符的模板文字
  5. 5、单行 if-else 语句
  6. 6、摆脱重复
  7. 7、将字符串拆分为数组
  8. 8、捕获右键单击
  9. 9、遍历键和值
  10. 10、智能数据过滤
  11. 11、空合并运算符
  12. 12、错误处理
  13. 结语

在本文中,我将分享 12 个有用的 JavaScript 片段。可以帮助您解决日常开发中的一些问题,希望通过这些代码的学习,加快您的开发速度并节省您的宝贵时间!

在本文中,我将分享 12 个有用的 JavaScript 片段。可以帮助您解决日常开发中的一些问题,希望通过这些代码的学习,加快您的开发速度并节省您的宝贵时间!

1、破坏赋值

在 JavaScript 中,您可以使用析构方法将数组中的值解包并将它们分配给其他变量。

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() 方法可用于搜索数组以查找特定对象。

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、反转字符串

以下代码段可用于在不使用循环的情况下反转任何字符串。

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、带有占位符的模板文字

如果您使用模板文字,您可以借助 ${} 方法在字符串中包含变量。

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 语句,您可以使用单行方法来执行它。

// normal
if (13 > 37) {
    console.log(true);
} else {
    console.log(false)
}
// One liner
13 > 37 ? console.log(true) : console.log(false)

6、摆脱重复

在 JavaScript 中,有一种简单的方法可以从任何输入数组中去除重复项。当数组中有很多元素并且可能有一些重复项时,这非常方便。

以下代码段将展示如何使用 Set 数据类型来实现此目的:

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、将字符串拆分为数组

如果您想将字符串拆分为数组,可以使用以下代码片段

const randomString = "Software"
const newArray = [...randomString]

console.log(newArray) // ['S', 'o', 'f', 't', 'w', 'a', 'r', 'e']

8、捕获右键单击

如果使用 JavaScript 并希望在用户使用时捕获右键单击以执行某些代码。

// 仅在 HTML/JS 中可用
window.oncontextmenu = () => {console.log("Right Click is Pressed!")}

9、遍历键和值

这个有用的片段可用于迭代字典数据的键(或值)。为此,您可以检索键/值并使用 forEach 函数。

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 方法过滤您的数据。如果您的输入有大量数据并且您只需要输入数组中的特定数据,这很重要。

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、空合并运算符

空合并运算符 (??) 是一个逻辑运算符,当其左侧操作数为空或未定义时返回其右侧操作数,否则返回其左侧操作数。

const foo = null ?? 'default string';
const baz = 0 ?? 42;

console.log(foo); // default string
console.log(baz); // 0

12、错误处理

在编程中,开发过程中总会发生错误。为了避免您的程序崩溃,您可以使用 try...catch 语句。这是每个编程语言中的一种众所周知的语法,用于捕获运行时错误。

function getRectArea(width, height) {
    if (isNaN(width) || isNaN(height)) {
        throw '参数不是数字!';
    }
}

try {
    getRectArea(3, "A")
} catch (err) {
    console.log(`这有一个错误: ${err}`)
} finally {
    console.log("不管 try/catch 结果如何,都会执行此代码块")
}
// Output:
// 这有一个错误: 参数不是数字!
// 不管 try/catch 结果如何,都会执行此代码块

结语

我真的希望您觉得这篇文章对您有所帮助,并且可以在您的开发过程中使用其中的一些片段。如果您也有很酷的 JavaScript 片段,请随时在评论并与其他开发人员分享它们。

相关阅读:

来源:Vue 社区

「点点赞赏,手留余香」

2

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 解决日常工作问题的12个 JS 代码片段

发表回复