【问题标题】:Javascript change Object structureJavascript改变对象结构
【发布时间】:2016-02-06 21:03:02
【问题描述】:

我的对象如下所示:

{34: true, 35: false}

如何将 Object 转换为与此数组完全相同:

[{id: 34, _destroy: '1'}, {id: 35, _destroy: '0'}]

谢谢大家!

【问题讨论】:

  • 你有没有尝试过?
  • 对象不能有重复的键。
  • 你必须使用非常强大的魔法。
  • 我已经编辑了问题,请再次检查:) 谢谢
  • 像这样:Object.keys(o).map(function(el){ return {id:el, _destroy: o[el]?'1':'0'}; })

标签: javascript angularjs object underscore.js


【解决方案1】:

试试这个功能:

function convertIt(obj) {
        var keys = Object.keys(obj);
        var convertedObjs = [];    
        keys.forEach(function(key){
              var destroy = obj[key] ? "1" : "0";
              convertedObjs.push({"id": key, "_destroy" : destroy  });
        });
        return convertedObjs;
    }

【讨论】:

    【解决方案2】:

    你们怎么看这件事?

    var myObject = {34: true, 35: false}
    var result = [];
    underscore.each(myObject, function(v, k) {
      result.push({id: k, _destroy: v ? '1' : '0'})
    });
    
    console.log(result);
    > [{id: 34, _destroy: '1'}, {id: 35, _destroy: '0'}]
    

    【讨论】:

    • 我认为不需要使用可以使用纯 js 的 3rd 方库 :-)
    猜你喜欢
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    相关资源
    最近更新 更多