9 条非常强大的 JavaScript 技巧

1、全部替换

我们知道string.replace()函数只会替换第一次出现的位置。在正则表达式末尾添加 /g 即可替换所有出现。

<code>

var

 example = 

"potato potato"

;

console

.log(example.replace(

/pot/

"tom"

)); 

console

.log(example.replace(

/pot/g

"tom"

));  /<code>


2、提取唯一值

使用Set对象和spread操作符可以创建一个新的数组,仅包含唯一的值。

<code>

var

 

entries

 

=

 

[1,

 

2

,

 

2

,

 

3

,

 

4

,

 

5

,

 

6

,

 

6

,

 

7

,

 

7

,

 

8

,

 

4

,

 

2

,

 

1

]

var

 

unique_entries

 

=

 

[...new

 

Set(entries)];

console.log(unique_entries);

//

 

[1,

 

2

,

 

3

,

 

4

,

 

5

,

 

6

,

 

7

,

 

8

]

/<code>


3、数字转为字符串
只需要将其与空字符串连接。

<code>

var

 converted_number = 

5

 + 

""

;

console

.log(converted_number);

console

.log(

typeof

 converted_number);  /<code>


4、字符串转为数字

只需要使用 + 运算符。

注意这个技巧只能在“字符串形式的数字”上使用。

<code>the_string = 

"123"

; console.

log

(+the_string); the_string = 

"hello"

; console.

log

(+the_string); /<code>


5、打乱数组的元素顺序

<code>

var

 

my_list

 

=

 

[1,

 

2

,

 

3

,

 

4

,

 

5

,

 

6

,

 

7

,

 

8

,

 

9

];

console.log(my_list.sort(function()

 

{

    

return

 

Math.random()

 

-

 

0.5

}));

 

//

 

[4,

 

8

,

 

2

,

 

9

,

 

1

,

 

3

,

 

6

,

 

5

,

 

7

]

/<code>


6、多维数组扁平化

只需使用spread运算符。

<code>

var

 

entries

 

=

 

[1,

 

[2,

 

5

],

 

[6,

 

7

],

 

9

];

var

 

flat_entries

 

=

 

[].concat(...entries);

 

//

 

[1,

 

2

,

 

5

,

 

6

,

 

7

,

 

9

]

/<code>


7、短路条件

比如下面的例子:

<code>

if

 (available) {     

addToCart

(); }/<code>

只需将变量和函数写到一起即可:

<code>

available

 

&

&

 

addToCart

() /<code>


8、动态属性名

原来我以为必须先定义一个对象才能指定动态属性名,其实不需要:

<code>

const

 

dynamic

 = 

'flavour'

;

var

 item = {     name: 

'Coke'

,     [ ]: 

'Cherry'

} console.log(item);  /<code>


9、使用length属性来改变数组大小或清空数组

只需要重写数组的length即可。

要想改变数组大小:

<code>

var

 

entries

 

=

 

[1,

 

2

,

 

3

,

 

4

,

 

5

,

 

6

,

 

7

];

  

console.log(entries.length);

 

//

 

7

  

entries.length

 

=

 

4

;

  

console.log(entries.length);

 

//

 

4

  

console.log(entries);

 

//

 

[1,

 

2

,

 

3

,

 

4

]

/<code>

要想清空数组:

<code>

var

 

entries

 

=

 

[1,

 

2

,

 

3

,

 

4

,

 

5

,

 

6

,

 

7

];

 

console.log(entries.length);

 

//

 

7

  

entries.length

 

=

 

0

;

   

console.log(entries.length);

 

//

 

0

 

console.log(entries);

 

//

 

[]

/<code>

原文:https://dev.to/razgandeanu/9-extremely-powerful-javascript-hacks-4g3p


9 条非常强大的 JavaScript 技巧


分享到:


相關文章: