代码之家  ›  专栏  ›  技术社区  ›  devnull69

如何使用lodash从现有对象创建特定的新对象

  •  -2
  • devnull69  · 技术社区  · 6 年前

    我现在有这个对象数组:

    [{
       "key1": "value1",
       "key2": "value2",
       "key3": "valuex"
    },{
       "key1": "value3",
       "key2": "value4",
       "key3": "valuey"
    }]
    

    最后我想得到的是一个字符串数组

    ["value1/value2", "value3/value4"]
    

    喜欢使用一些“洛达斯魔法捷径”。

    所以本质上,我想把key1和key2的值连接到一个字符串中,使用“/”作为分隔符,而忽略key3。

    我试了很多 _.transform _.join

    3 回复  |  直到 6 年前
        1
  •  3
  •   Arup Rakshit    6 年前

    使用 lodash.map .

    var data = [{
      "key1": "value1",
      "key2": "value2",
      "key3": "valuex"
    }, {
      "key1": "value3",
      "key2": "value4",
      "key3": "valuey"
    }]
    
    console.log(_.map(data, ob => `${ob.key2}/${ob.key2}`));
    <script src="https://cdn.jsdelivr.net/lodash/4/lodash.min.js"></script>
        2
  •  2
  •   Gonzalo.-    6 年前

    let response = [{
           "key1": "value1",
           "key2": "value2",
           "key3": "valuex"
        },{
           "key1": "value3",
           "key2": "value4",
           "key3": "valuey"
        }].map(el => `${el.key1}/${el.key2}`);
        
       console.log(response);
        3
  •  1
  •   Xeewi    6 年前

    这不是使用Lodash而是:

    const myArray = [{
       "key1": "value1",
       "key2": "value2",
       "key3": "valuex"
    },{
       "key1": "value3",
       "key2": "value4",
       "key3": "valuey"
    }]
    
    const newArray = myArray.map(element => element.key1 + '/' + element.key2)
    
    console.log(newArray)