js trick

js trick

Sort Array of number 時包含 NaN

因為 NaN, Null 沒辦法被 sort

[1, NaN, 3, 5].sort((a, b) => b - a)
// [1, NaN, 5, 3]

所以可以用如下方式

function handleSort(eleA, eleB) {
  if(isNaN(eleB)) {
    eleB[1] = order === sortOrder.Ascend ? Number.MAX_SAFE_INTEGER : 0;
  }
  return order === sortOrder.Descend ? eleB - eleA : eleA - eleB
}

[....].sort(handleSort)

1.替換input type="file"標籤為客製化按鈕

因為label規定不可放button在內,所以我們使用click()的方法,如下

style

2.轉為boolean

!!

3.除與二的次方

>>>

4.複製到剪貼版

但ios有的會有一些問題,所以建議可用https://clipboardjs.com/

範例:

https://codepen.io/anon/pen/EbJBjP

倒數計時

版本2

如果想設定倒數結束的開始時間:

角子老虎機捲動效果

https://codepen.io/EasonWang01/pen/VxNzXz

主要是創造兩階層的0-9個數字,然後在0接到9時位置跳回開頭。

移除畫面上的事件綁定

有時如果畫面更新但元素沒更新時,造成重複綁定事件,可用以下方法更新元素,移除舊事件。

例如

https://stackoverflow.com/questions/9251837/how-to-remove-all-listeners-in-an-element

取得所有可能的字串組合

假設四個字母組成字串,要印出所有可能組合

4 ** 4 = 256 種組合

解析QueryString

先使用location.search取得QueryString

使用

或是可使用官方API

Promise cancel

拋出error當timeout,中斷所有其他promise

Closure

上面將等同於 (上面較易理解) 來源:https://stackoverflow.com/a/20240290

隨機產生人物資料

隨機產生圖片

https://picsum.photos/200/300

Last updated

Was this helpful?