Javascript filter函式,可以幫助我們過濾一個陣列中符合條件的元素,若不符合則刪除。不更改原陣列,而回傳新陣列。

filter 函式,接受一個 callback 函式,callback 可以有三個參數(element, index, array),

  • element:陣列元素的值。
  • index:陣列元素的所在位置。
  • arr:已經過 filter 處理的陣列

過濾陣列中值小於10的元素

var numbers = [20, 10, 9, 25, 1, 3, 8, 11];
var result = numbers.filter(function(element, index, arr){
    return element<=10;
});
console.log(result);
// [20, 10, 25, 11]

callback 中,回傳 false 的元素將會被移除,但注意元陣列並未改變,而是回傳新陣列。

Add a comment

如下將fetch寫成函數,返回值時會發現,控制台顯示我的數據Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]],這樣的方式要如何取得資料來應用呢?。

將提取api fetch寫成函式調用

function apiGetAll (api) {
    return fetch(api, {
        headers: { "content-type": "application/json" }
    })
        .then(response => response.json().then(json => ({ json, response })))
        .then(({ json, response }) => {
            if (!response.ok) {
                return Promise.reject(json);
            }

            return json;
        })
        .then(response => response, error => error);
}
Add a comment

利用CSS Flex將圖片高寬度max100%對應外部區塊,上下垂直左右置中顯示於區塊中,這樣一來不管圖片大小多大,圖片都能正常比例完整顯示於區塊中。

注意:Flex只支援較新的瀏覽器。

HTML

<div class="box"> 
     <img class="imgcenter" src="http://p3.pstatp.com/origin/2ee200021b01de8df129"> 
</div>
Add a comment

TableExport.js

簡單易用的Javascript插件,允許您只在一行代碼,會自動產生輸出Excel、txt、csv按鈕,快速動態地將HTML表格轉換為Excel電子表格 .xls .xlsx,逗號分隔值.csv和純文本 .txt。

下載和設置

使用<script>標籤手動安裝

要使用此插件,請在HTML文檔的結束標記之前包含jQuery庫,FileSaver.js腳本和 TableExport.js插件:

<script src="/jquery.js"></script>
<script src="/FileSaver.js"></script>
 ...
<script src="/tableexport.js"></script>
Add a comment

VSCode移動整行字串

ALT + Alt +

VSCode移動整行字串

VSCode快速複製這一行

直接alt + shift + ↑ or ↓,則會在上方或下方馬上複製一行!若反白多行後按alt + shift + ↑ or ↓,則是上方或下方複製多行。

alt + shift + or

VSCode快速複製這一行

VSCode同時選取相同名稱的字串

需要統一修改特定的字串時,可以先選取其中一個,再透過下面的方式選取同樣的字串,就能一次修改

Ctrl + Shift + L

若不想一次選取全部,而是要一個一個來選,可以先反白關鍵字,在按下面的組合鍵,每按一次就會選取下一個同字串 Ctrl + D

VSCode同時選取相同名稱的字串

VSCode一次編輯多行或多個位置

  • ALT + 滑鼠右鍵點擊編輯位置
  • ALT + SHIFT 按滑鼠右鍵並上或下拖曳多行

alt + 滑鼠右鍵點擊編輯位置

VSCode同時選取相同名稱的字串

alt + shift按滑鼠右鍵並上或下拖曳多行

VSCode同時選取相同名稱的字串

VSCode尋找變數之定義

alt + F12

游標移到該變數,直接按alt + F12,就會快速彈出該變數之定義。
若要跳到定義處,則直接F12,游標就會帶到定義處!

尋找變數之定義

跳出參考頁會把所有使用到的變數位置列出,並可以直接移到該位置!

shift + F12

尋找變數之定義

VSCode自動整理程式碼格式

Shift + Alt + F (也可以將 VS Code editor.formatOnSave 設定成 true,讓儲存檔案同時進行自動整理程式碼)

VSCode自動整理程式碼格式

VSCode分割編輯視窗

Ctrl + 數字鍵 最多可分割出3個編輯視窗

VSCode導航到特定行

ctrl + g

VSCode自動整理程式碼格式

VSCode關閉視窗或編輯頁

Ctrl + W

VSCode開啟終端機

Ctrl + `

VSCode建立一個新的終端機分頁

Ctrl + Shift + `

VSCode前往上一個/下一個開啟的編輯頁

  • Ctrl + Tab 前往下一個編輯頁
  • Ctrl + Shift + Tab 前往前一個編輯頁

VSCode檔案相關

快速創建或打開檔案

ctrl + click

VSCode自動整理程式碼格式

開啟新檔案

Ctrl + N

儲存檔案

Ctrl + S

另存新檔

Ctrl + Shift + S

開啟文件

Ctrl + O

VS Code Tips and Tricks - Keyboard Reference Sheets
Visual Studio Code 快捷鍵彙整 [陸續更新中]

Add a comment

如要在電視上顯示 Chrome 的內容,請備妥下列項目:

  • Chromecast、Chromecast Ultra 或內建 Chromecast 的電視。
  • 符合最低系統需求的電腦和 Wi-Fi 網路。
  • 您的電腦必須具備 Chrome 瀏覽器。如果您尚未擁有符合版本要求的 Chrome,請下載或更新版本。
  • 將電腦和 Chromecast 裝置連上相同的 Wi-Fi 網路。請參閱本文,瞭解如何檢查 Chromecast 裝置的 Wi-Fi 網路。
Add a comment

IndexRoute

在我們的應用中,如果訪問/ ,只會顯示一個空白頁。而我們的理想情況是先一個Home頁,所以我們先建立一個Home組件,再去講接下來怎麼做。新建文件modules/Home.js並添加代碼:

// modules/Home.js
import React from 'react'

export default React.createClass({
  render() {
    return <div>~~男神女神~~</div>
  }
})

一種方式是,先看App裡面有子路由激活嗎?如果沒有,你們顯示Home。這種方式,App.js的代碼為:

// App.js
import Home from './Home'
// ...
<div>
  {/* ... */}
  {this.props.children || <Home/>}
</div>
//...

這種方式也可以正常工作,但是我們更希望Home像Boys和Girls那樣,綁定到一個路由上。這才更符合React Router的思想,一個組件綁定到一個路由上,通過路由的嵌套、激活等顯示不同的界面。這種方式的實現要用到IndexRoute組件。只需改變index.js中的代碼:

Add a comment

使用Javascript

最流行的答案是沒有jQuery的解決方案:

Node.contains()方法返回一個Boolean值,該值指示節點是否是給定節點的後代,即節點本身,其直接子節點之一(childNodes),子節點直接子節點之一等等。

document.addEventListener('mouseup', function (e) {
    var container = document.getElementById('your container ID');

    if (!container.contains(e.target)) {
        container.style.display = 'none';
    }
}.bind(this));
Add a comment