将逗号分隔的字符串转换为 JavaScript 对象中的独立数组
javascriptweb developmentfront end technologyobject oriented programming
假设,我们有一个像这样的字符串 −
const str = 'dress/cotton/black, dress/leather/red, dress/fabric, houses/restaurant/small, houses/school/big, person/james';
我们需要编写一个 JavaScript 函数来接收一个这样的字符串。然后,该函数应该准备一个像这样的数组对象 −
const output = { dress = ["cotton","leather","black","red","fabric"]; houses = ["restaurant","school","small","big"]; person = ["james"]; };
示例
const str = 'dress/cotton/black, dress/leather/red, dress/fabric, houses/restaurant/small, houses/school/big, person/james'; const buildObject = (str = '') => { const result = {}; const strArr = str.split(', '); strArr.forEach(el => { const values = el.split('/'); const key = values.shift(); result[key] = (result[key] || []).concat(values); }); return result; }; console.log(buildObject(str));
输出
控制台中的输出将是 −
{ dress: [ 'cotton', 'black', 'leather', 'red', 'fabric' ], houses: [ 'restaurant', 'small', 'school', 'big' ], person: [ 'james' ] }