在這里,我獲取一個字串資料并將其轉換為陣列元素,但它在所有陣列元素的最后得到一個空陣列,我無法輕松洗掉它們。請幫忙。
let string_Data = `01226,Grover Cleveland,Anna,Uganda,Crucial Ltd,Tested Mutual B.V,Calvin Coolidge,
77110,John F. Kennedy,hora,Bosnia Herzegovina,Formal,Papal Corporation,Franklin Roosevelt,
29552,Lyndon B. Johnson,Margaret,Palau,Summaries Holdings Inc,Customize,Rutherford B. Hayes,`;
let making_Array = csv => {
var data = [];
for (let dataAry of csv.split('\n')) {
data.push(dataAry.split(','));
}
return data;
}
console.log(making_Array(string_Data));
uj5u.com熱心網友回復:
您可以在拆分之前準備字串,而不是操作陣列。
let string_Data = `01226,Grover Cleveland,Anna,Uganda,Crucial Ltd,Tested Mutual B.V,Calvin Coolidge,
77110,John F. Kennedy,hora,Bosnia Herzegovina,Formal,Papal Corporation,Franklin Roosevelt,
29552,Lyndon B. Johnson,Margaret,Palau,Summaries Holdings Inc,Customize,Rutherford B. Hayes,`;
let making_Array = csv => {
var data = [];
for (let dataAry of csv.split('\n')) {
// 1. trim both ends of the line for white space, tab, etc.
// 2. remove any last trailing comma
// 3. split using comma separator
data.push(dataAry.trim().replace(/,$/, '').split(','));
}
return data;
}
console.log(making_Array(string_Data));
FWIW 可以像這樣簡化和增強整個功能:
let header = ['id', 'col1', 'col2', 'col3', 'col4', 'col5', 'col6'];
let string_Data = `01226,Grover Cleveland,Anna,Uganda,Crucial Ltd,Tested Mutual B.V,Calvin Coolidge,
77110,John F. Kennedy,hora,Bosnia Herzegovina,Formal,Papal Corporation,Franklin Roosevelt,
29552,Lyndon B. Johnson,Margaret,Palau,Summaries Holdings Inc,Customize,Rutherford B. Hayes,`;
let making_Array = csv => csv
.split('\n')
.map(line => line
.trim() // 1. trim both ends of the line
.replace(/,$/, '') // 2. remove any last trailing comma
.split(',')) // 3. split using comma separator
.map(cols => Object.fromEntries(new Map(header
.map((colName, index) => [colName, cols[index] || '']))));
console.log(making_Array(string_Data));
uj5u.com熱心網友回復:
這將洗掉空字串,但也會洗掉falsey值。
const values = arr.filter(Boolean);
uj5u.com熱心網友回復:
空字串是因為,在每行的末尾。
您可以使用該slice()方法洗掉陣列的最后一個元素。
data.push(dataAry.split(',').slice(0, -1))
當您使用負索引作為切片的末尾時,它從末尾開始計數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/533888.html
上一篇:將字母?轉換為open
下一篇:根據正則運算式拆分字串
