首页 > 语言 > JavaScript > 正文

开发中常用的25个JavaScript单行代码(小结)

2024-05-06 15:37:22
字体:
来源:转载
供稿:网友

1.强制布尔值

要将变量强制转换为布尔值而不更改其值:

const myBoolean = !! myVariable; !!null // false !!undefined // false !!false // false !!ture // ture !!"" // false !!"string" // true !!0 // false !!1 // true !!{} // true !![] // true 

2.基于某个条件为对象设置属性

要使用spread运算符有条件地在对象上设置属性:

const myObject = {... myProperty && {propName:myPoperty}}; let myProperty = 'Jhon' const myObject = {...myProperty && {propName: myProperty}}; // {propName: "Jhon"} let myProperty = '' const myObject = {...myProperty && {propName: myProperty}}; // {} 

如果myProperty结果为false,则 && 失败并且不设置新属性; 否则,如果不为空,&& 将设置新属性并覆盖原来的值。

3.合并对象

const mergedObject = { ...objectOne, ...objectTwo }; const mergedObject = { ...{name: 'Jhon', age: '18'}, ...{name1: 'jhon1', age1: '12'}}; // {name: "Jhon", age: "18", name1: "jhon1", age1: "12"} const mergedObject = { ...{name: 'Jhon', age: '18'}, ...{name: 'jhon1', age:'12'}}; // {name: "jhon1", age: "12"} 

支持无限制合并,但如果对象之间存在相同属性,则后面属性会覆盖前面属性。*请注意,这仅适用于浅层合并。

4.交换变量

要在不使用中间变量的情况下交换两个变量的值:

[varA,varB] = [varB,varA]; let a = 1; let b = 2; [a, b] = [b, a] // a = 2 b = 1 5.删除Boolean 为 false 值const clean = dirty.filter(Boolean); const clean = [0, false, true, undefined, null, '', 12, 15].filter(Boolean); // [true, 12, 15] 

这将删除值等于:null,undefined,false,0 和空字符串('')。

6.转换元素类型

要将Number元素转换为String元素:

const stringArray = numberArray.map(String); const stringArray = [1, 2, 3].map(String); ["1", "2", "3"] 

如果数组包含字符串,字符串原样保留。 这也可以用于将String元素转换为Number类型:

const numberArray = stringArray.map(Number); const stringArray = ["1", "2", "3"].map(String); // [1, 2, 3] 

7.格式化对象为JSON代码

要以可读的格式显示JSON代码:

const formatted = JSON.stringify(myObj, null, 4); const formatted = JSON.stringify({name: 'Jhon', age: 18, address: 'sz'}, null, 4); /* {  "name": "Jhon",  "age": 18,  "address": "sz" } */ 

该字符串化命令有三个参数。第一个是Javascript对象。第二个是可选函数,可用于在JSON进行字符串化时对其执行操作。最后一个参数指示要添加多少空格作为缩进以格式化JSON。省略最后一个参数,JSON将返回一个长行。如果myObj中存在循环引用,则会格式失败。

8.快速创建数字数组

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选