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 技巧


分享到:


相關文章: