需要基于数组的元素创建对象的浅数组,数组的元素是对象的值:
var obj = {
  a: 1,
  b: 'x',
  c: 'z',
  d: ['rr', 'qq']
};
var rec = [];
obj.d.forEach(function(e, i) {
  rec.push({
    d: e
  })
});
console.log(rec);但当然这只会让我
[ { d: 'rr' }, { d: 'qq' } ]如何在新的对象数组中实现这一点?-->
[ { a: 1,
    b: 'x',
    c: 'z',
    d: 'rr' }, 
  { a: 1,
    b: 'x',
    c: 'z',
    d: 'qq' } ]发布于 2016-08-19 04:57:22
obj.d.forEach(function(e) {
    var item = {};
    Object.keys(obj).forEach(function(key) {
        item[key] = obj[key];
    });
    item.d = e;
    rec.push(item);
});但是属性a,b,c不能是对象。否则,rec数组中的每一项都将具有相同的引用。
https://stackoverflow.com/questions/39027359
复制相似问题