介紹

SheetJS js-xlsx一款能夠讀寫Excel的.xls、.xlsx格式表格的插件,瀏覽器支持良好,並且能在多個平台上使用,目前在github上有12602個star,在這邊的範例主要使用React,再加上SheetJS js-xlsx及react-input-files,讓你一個按鈕,簡單的實現直接選檔上傳。

Add a comment

react-router 4中NavLink可加入activeClassName='active'屬性,使得選單在切換時class加入active,可對這個active class寫css style樣式,達到選單切換的效果。

設定成以下,to="/"表示index首頁,但是他都會一只處於active狀態,並不會因為像切換其他的選單而改變。

<NavLink activeClassName='active' to="/">
   Home
</NavLink>
Add a comment

添加前導零

sprintf() 函數把格式化的字符串寫入變量中。
str_pad() 函數把字符串填充為新的長度。

$id = 23;
$sn1 = sprintf("%04d",$id); //方法一 0023
$sn2 = str_pad($id,4,"0",STR_PAD_LEFT); //方法二 將數字由左邊補零至四位數 0023

去掉前導零

intval() 獲取變量的整數值。
ltrim() 函數移除字符串左側的空白字符或其他預定義字符。

$sn = 0023;
$id1 = intval($sn); //方法一 23
$id2 = ltrim($sn,"0"); //方法二 23
Add a comment

通過物件key對array進行分組,然後根據分組創建一個新的物件陣列?例如以下,有一個car陣列物件,要對make這個key作為分組關鍵:

var cars = [
    {
        'make': 'audi',
        'model': 'r8',
        'year': '2012'
    }, {
        'make': 'audi',
        'model': 'rs5',
        'year': '2013'
    }, {
        'make': 'ford',
        'model': 'mustang',
        'year': '2012'
    }, {
        'make': 'ford',
        'model': 'fusion',
        'year': '2015'
    }, {
        'make': 'kia',
        'model': 'optima',
        'year': '2012'
    },
];
//re-usable method
Array.prototype.groupBy = function(prop) {
      return this.reduce(function(groups, item) {
        const val = item[prop]
        groups[val] = groups[val] || []
        groups[val].push(item)
        return groups
      }, {})
    };

// initiate your groupBy. Notice the recordset Cars and the field Make....
const groupByMake = cars.groupBy('make');
console.log(groupByMake);

//At this point we have objects. You can use Object.keys to return an array
Add a comment

獲取包含物件的陣列的索引的最佳方法是什麼?

想像這種情況:

var myArray = [
    //陣列的索引0
    {
        hello: 'leon',
        foo: 'baz'
    },
    //陣列的索引1
    {
        hello: 'stevie',
        foo: 'zoo'
    }
]

在這個例子中,若想使用indexOf方法取得它將是。hello:'stevie' 索引的值為 1要如何做呢?

Add a comment