code optimize
This commit is contained in:
31
scripts/result.js
Normal file
31
scripts/result.js
Normal file
@ -0,0 +1,31 @@
|
||||
class ExractResult {
|
||||
constructor(data) {
|
||||
this._data = data || [];
|
||||
|
||||
}
|
||||
row(index) {
|
||||
return this._data[index];
|
||||
}
|
||||
column(index) {
|
||||
return [...new Array(this._data.length).keys()].map(
|
||||
i => this._data[i][index]
|
||||
);
|
||||
}
|
||||
get data() {
|
||||
return this._data;
|
||||
}
|
||||
toString(rowsCount) {
|
||||
let data = rowsCount > 0 ? this._data.slice(0, rowsCount) : this._data;
|
||||
return data.slice().reduce(
|
||||
(csv, lineCells) => {
|
||||
let line = lineCells.reduce(
|
||||
(lineText, cell, idx) => {
|
||||
cell = '"' + cell.trim().replace(/"/g, '""') + '"';
|
||||
return lineText + cell + (idx == lineCells.length - 1 ? "" : ",")
|
||||
}, "");
|
||||
return csv + line + "\n";
|
||||
},
|
||||
""
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user