Javascript:从字符串创建自定义对象

kak*_*234 0 javascript

我有一串逗号分隔值.如下:

var myValues = "Ip1, Ip2, Ip3";
Run Code Online (Sandbox Code Playgroud)

我想将其转换为自定义对象.结果应该是:

 {
  Input: 'Ip1',
  Output: 'Ip1_Updated'    
 },
 { 
  Input: 'Ip2',
  Output: 'Ip2_Updated'
 },
 { 
  Input: 'Ip3',
  Output: 'Ip3_Updated'
 }
Run Code Online (Sandbox Code Playgroud)

解决这个问题的最佳方式是什么?我可以拆分","然后遍历字符串并创建自定义数组

Ele*_*Ele 5

您可以拆分然后使用该功能 map

var myValues = "Ip1, Ip2, Ip3",
    result = myValues.split(",").map(s => ({ Input: s.trim(), Output: `${s.trim()}_Updated` }));
 
 console.log(result)
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }
Run Code Online (Sandbox Code Playgroud)

另一种方法是准备数据,然后转换为所需的结构:

var myValues = "Ip1, Ip2, Ip3",
    split = myValues.split(","),
    preparedData = split.map(str => str.trim()),
    result = preparedData.map(ip => ({ Input: ip, Output: `${ip}_Updated` }));
 
 console.log(result);
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }
Run Code Online (Sandbox Code Playgroud)