使用Javascript将纯文本字符串转换为表

使用Javascript将纯文本字符串转换为表,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我正在为这个javascript练习挠头: 我使用Ajax接收此纯文本: “201乔治/” “301玛丽/302露西/” “401 Craig Da/402 Ann/403 Al Mia”我很喜欢reduce。这会让你走的。我假设,由于似乎没有更好的来源,可以从数据中的位置得出下限 var text=\201 George/\\n\301 Mary/302 Lucy/\\n\401 Craig Da/402 Ann/403 Al Mia\; var floors=text.split\n;

我正在为这个javascript练习挠头: 我使用Ajax接收此纯文本:

“201乔治/” “301玛丽/302露西/” “401 Craig Da/402 Ann/403 Al Mia”我很喜欢reduce。这会让你走的。我假设,由于似乎没有更好的来源,可以从数据中的位置得出下限

var text=\201 George/\\n\301 Mary/302 Lucy/\\n\401 Craig Da/402 Ann/403 Al Mia\; var floors=text.split\n; var buildingData=floors.ReduceFunctionFloorAc,floor,floorIndex{ //去掉那些奇怪的引语。 地板=floor.1,-1; var单位=楼层分割/; floorAcc[floor+floorIndex+2]=单位。减缩功能单位,单位{ var零件=单位.trim.split; 如果部分[0]。修剪=={return unitAcc;} unitAcc.push{单元:parts[0],名称:parts.slice1.join}; 返回unitAcc; }, []; 返回地板c; }, {}; console.logbuildingData ES6中的另一个示例

函数自定义转换文本{ 常量myData={}; const props=['apart','name']; 常数rx=/“[\s\s]+?”/g; 让match=rx.exectext; 比赛时{ const tenants=match.pop.split'/'.mapm=>m.trim.filterBoolean; 如果是租户,那么长度{ 出租楼层=租户[0]。charAt0; if/^\d$/.testfloor{ floor=`floor${floor}`; myData[楼层]=[]; 租客中的租客{ tenant=tenant.match/^\d{3}\s*[\s\s]*$/; 如果承租人{ 1.shift; myData[floor].pushprops.reducep,x=>{ p[x]=tenant.shift; 返回p; }, {}; } } myData[floor].sorta,b=>a.apart.localeCompareb.apart; } } 匹配=rx.exectext; } 返回myData; } 让text='“201乔治/”\ “301玛丽/302露西/”\ “401克雷格达/402安/403阿尔米亚”; console.logcustomTransformtext; text=“/202乔治/”\ “/302玛丽/303露西”\ “402克雷格达/403安/401阿尔米亚”; console.logcustomTransformtext; text=“'201 George/”\n“301 Mary/302 Lucy/”\n“401 Craig Da/402 Ann/403 Al Mia””;
console.logcustomTransformtext;您是否有任何代码,在执行时是否遇到特殊问题?您的意思是要在HTML中创建一个,并用字符串中的“行”填充它?该变量甚至无效javascript@charlietfl,我已删除变量声明。上面的文本是我从txt文件中得到的。我需要的是创建3个不同的对象。第一个对象应该是:{partment:201,name:George}第二个对象:{partment:301,name:Mary}{partment:302,name:Lucy}第三个对象:{partment:401,name:Craig D}{partment:402,name:Ann}{partment:403,name:Al-Mia}是否要创建表,还是要将文本转换为对象或两者都转换为对象?