是否有一种从对象到多个对象的简单方法?由此:
var obj = { 'generics.type': 'search.type', 'wood.name': 'search.name' }
到此:
var nestedObj = [ {'generics.type': 'search.type'}, {'wood.name': 'search.name'} ]
基本上与lodash默认值相反:https://lodash.com/docs/4.17.4#defaults
一直在寻找这个好几个小时,现在我转过来......谢谢
答案 0 :(得分:2)
使用lodash或下划线,您可以使用map:
var result = _.map(obj, (v,k) => ({[k]: v}));
答案 1 :(得分:1)
试试这个:
var createDiffObjs = function(obj ){
var nestedObj = [];
for( var prop in obj ) {
var elem = {};
elem[ prop ] = obj [prop ];
nestedObj.push( elem );
}
return nestedObj;
}
然后使用它:
nestedObj = createDiffObjs( obj );
答案 2 :(得分:1)
也许你想要更短的东西,但我认为显而易见的解决方案是唯一的。
var obj = { 'generics.type': 'search.type', 'wood.name': 'search.name' };
var arr = _.map(obj, function(v, k) { var o = {}; o[k] = v; return o; });
console.log(arr);

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
&#13;
答案 3 :(得分:0)
var nestedObj = { {'generics.type': 'search.type'}, {'wood.name': 'search.name'} }
这不是JavaScript中的有效数据结构。 JavaScript对象是一对键和值。
使用数组代替多个对象:
var multipleObjs = [ {'generics.type': 'search.type'}, {'wood.name': 'search.name'} ]
答案 4 :(得分:0)
然后去调查ES2015 = ES6新的JavaScript规范,这些规范调用了数组的解构(即对象)https://babeljs.io/learn-es2015/,你将找到有关JavaScript新方法的所有内容。祝好运!!! (如果您的对象结构正确,我们可以帮助您)