首页 > 解决方案 > 在es6中将字符串转换为数组

问题描述

如何将以下字符串输入 name: xyz friend: abc mobile: 123 转换为将其分隔为类似这样的数组 [{key:"name", value:"xyz"}]

我已经尝试过此代码进行拆分

let friend1 = 
'name:xyz 
friend:abc 
mobile_no:123'
let Array=friend1.split(" ");
console.log(Array)`

需要帮助key and value

标签: javascriptsplit

解决方案


试试这个:

  1. 要删除冲突的冒号 + 空格对:,我将它们替换为####
  2. 然后在其余空格上拆分数组
  3. 对于每个拆分,在这种情况下name####xyzfriend####abcmobile####123,拆分它们####并构造所需的对象

let string = "name: xyz friend: abc mobile: 123";
let array  = string
  .replace(/:\s/g, '####')
  .split(' ')
  .map(pair => {

    let split = pair.split('####');
    return { key: split[0], value: split[1] };

  });
  
console.log(array)


推荐阅读