所以我有一段这样的代码:
this.convertParametersToGroups = function (nodes) {
self.selectedParametersGroup([]);
var emptyParametersList = [];
var pos = 0;
var group;
var tempParametersGroup = [];
// tempParametersGroup: Array[1]
// 0: undefined
$.each(nodes, function (key, val) {
emptyParametersList.push(0);
group = self.convertNodeToParameterGroup(val);
group.position = pos;
tempParametersGroup.push(group);
pos++;
});
self.selectedParametersGroup(tempParametersGroup);
return emptyParametersList;
};
当我重新排序声明时,注释结果不会改变。当我在 $.each 循环中有“组”时,它在第一次迭代中插入了一个未定义的值,然后执行回调中的第一条语句。
但是,当我像这样更改他们的名字时:
this.convertParametersToGroups = function (nodes) {
self.selectedParametersGroup([]);
var emptyParametersList = [];
var pos = 0;
var g;
var tempParametersGr = [];
// tempParametersGr: Array[0]
$.each(nodes, function (key, val) {
emptyParametersList.push(0);
g = self.convertNodeToParameterGroup(val);
g.position = pos;
tempParametersGr.push(g);
pos++;
});
self.selectedParametersGroup(tempParametersGr);
return emptyParametersList;
};
它在评论中工作。似乎javascript以某种方式将“组”名称映射到数组的“组”后缀并插入它或强制长度增加。我是否缺少某些已知的语言功能或...?