使用Underscore.js创建对象

时间:2015-08-20 13:44:22

标签: angularjs underscore.js

正确的Underscore.js方法是什么,用于创建一个名为由每个项目数组组成的项目的新对象。然后,我可以在一个电话中对每个item.name进行POST?

var items = [];

item = [{
  name: "item1",
  desc: "this is a description of item 1",
  qty: 1
},{
  name: "item2",
  desc: "this is a description of item 2",
  qty: 5
},{
  name: "item3",
  desc: "this is a description of item 3",
  qty: 3
}];

items.push(item);

1 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,你想将一个项目数组转换为一个对象,其中每个键都是对象的名称

e.g。

{
    item1: {
         name: "item1",
         desc: "this is a description of item 1",
         qty: 1
    },
    item2: { ... },
    item3: { ... },
}

如果是这种情况那么你可以使用带有两个参数的object函数;第一个是属性名称列表,第二个是值列表:

    var items = [{
          name: "item1",
          desc: "this is a description of item 1",
          qty: 1
        },{
          name: "item2",
          desc: "this is a description of item 2",
          qty: 5
        },{
          name: "item3",
          desc: "this is a description of item 3",
          qty: 3
        }
    ];

    var itemsAsAnObject = _.object( _.pluck(items,'name'), items)