0

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

 "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。 笨蛋

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;

};

};

4

2 回答 2

1

[编辑 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;

    };
};
于 2016-01-11T02:26:55.283 回答
1

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

vm.sectionInputs = function () {
    return Enumerable.From(vm.sectionInputsArry).Zip(Enumerable.ToInfinity(1),
        "{ model: $.model+$$ }"
    ).ToArray();
};
于 2016-01-11T17:16:14.870 回答