试图清理lodash中的对象键

时间:2017-01-25 18:01:04

标签: javascript object lodash

所以我有一个对象数组,如:

using

所以我写了这个函数:

var arr = [{'name of something ': 'value', 'another key': 'another value', ...}];

希望它能像我展示的那个阵列一样让我回来:

function _cleanUpObjectKeys(data) {
  return data.forEach(function(dataObject){
    return lodash.forOwn(dataObject, function(value, key){
      lodash.trim(key);
      lodash.snakeCase(key);
      console.log(key);
    });
  });

但唉,事实并非如此。 帮助吗

var arr = [{'name_of_something': 'value', 'another_key': 'another value', ...}]; 吐出:

  • console.log(key)(带尾随空格)
  • name of something

基本上我想从键中删除所有尾随空格并将它们转换为蛇形。

2 个答案:

答案 0 :(得分:2)

您可以使用Array#map和lodash的transform功能:

var myFunction=function(){
    var age=20;
    var name="bar";
    var show=function(){
        console.log(age);
    }
    
    return {
      name : name,
      show : show,
    }
}

 var obj=new myFunction();
 obj.show()

Working CodePen

答案 1 :(得分:1)

您可以按如下方式编写map() iteratee函数:

_.map(arr, _.unary(_.partialRight(
  _.mapKeys,
  _.flow(_.trim, _.snakeCase)
)));
  • unary()确保只传递一个参数,在本例中为密钥
  • partialRight()mapKeys()
  • 提供了iteratee函数
  • mapKeys()返回带有映射键的新对象
  • flow()创建一个新函数,将传递给它的函数的输入和输出链接在一起