如何在服务中动态生成模型名称

how to dynamically generate model names in a service

我有一项服务可用于为型号名称应用唯一编号。我得到的结果是这个

 "sectionInputs": [
  {
    "model": "price_min1"
  },
  {
    "model": "price_max2"
  },
  {
    "model": "units_occ3"
  },
  {
    "model": "inv_mod4"
  },
  {
    "model": "inv_fin5"
  },
  {
    "model": "inv_vdl6"
  },
  {
    "model": "inv_uc7"
  },
  {
    "model": "inv_fut8"
  },
  {
    "model": "inv_con9"
  },
  {
    "model": "units_total10"
  }
]

我需要这个来让每个人都有'1'。然后在下一个对象数组中,我需要它们有'2',等等......现在每个对象数组看起来都是这样的。我有一个 plunker 的一切设置。 plunker

function sectionInputSvc(sectionInputs) {

var vm = this;

vm.sectionInputsArry = sectionInputs;

vm.sectionInputs = function () {
    var arry = [];
    var counter = 0;

    for (var i = 0; i < vm.sectionInputsArry.length; i++) {
        counter++
        var obj = {
            model: vm.sectionInputsArry[i].model + counter
        };
        arry.push(obj);
    };

    return arry;

};

};

[编辑 2]

在app.js...

sections[i].sectionInputs = sectionInputSvc.sectionInputs(sections[i],i);

并在 section.service.js...

    function sectionInputSvc(sectionInputs) {

    var vm = this;

    vm.sectionInputsArry = sectionInputs;
    var obj2={};

    vm.sectionInputs = function (obj2,num) {
        var arry = [];
        var counter = 0;

        for (var i = 0; i < vm.sectionInputsArry.length; i++) {
            counter++
            var obj = {
            model: vm.sectionInputsArry[i].model + num
        };
            arry.push(obj);
        };

        return arry;

    };
};

使用 linq.js,并假设名称中不存在后缀:

vm.sectionInputs = function () {
    return Enumerable.From(vm.sectionInputsArry).Zip(Enumerable.ToInfinity(1),
        "{ model: $.model+$$ }"
    ).ToArray();
};