我有一个函数应该用键构建一个数组。这些键将有一系列对象作为值。Javascript/jQuery:嵌套循环,防止覆盖对象属性
我有一些循环嵌套在对方,我很接近解决方案,但在最后一个循环内我犯了一个错误,我看不到解决方案。
函数使用Id的数组遍历数组。这些将是输出数组的关键值。之后,它遍历包含很多对象的数组。这些对象有一个属性“类别”。其中一些有一个,另外一个有。所以用循环遍历所有类别。
如果类别与id相同,则应将对象推送到var objs,var objs将添加到右键。
这是所有的工作,但是,我希望对象只有一个类别保存。所以我在最后一个循环内部声明了一个新的变量,将obj放在那里并设置obj.category。不幸的是,这是覆盖'source',数组[x] .category。这是不好的,因为这会发生这样的问题,即具有两个类别的对象只能在该函数中找到一次,并且必须找到两次,因此可以保存两次(每次表示键值一次)。
很多解释为一个小片的代码...
$.each(unique_id, function(i, el){
var objs = [];
for(var x in array)
{
for(var j=0; j<array[x].category.length; j++)
{
if(array[x].category[j] == el)
{
var obj = array[x];
obj.category = el;
objs.push(obj);
}
}
}
data[el] = objs;
})
谢谢!现在工作。并感谢您的解释。时间阅读更多关于这个我认为,将在未来拯救我:-) #happystudent – user3346696
不客气 –