我这里有一个问题,我找不到如何解决它。我有一个有很多级别的对象。在我的对象中存在带有对象的数组,它们也有带有对象的数组。让我在这里向您展示一些示例:
{
sections: [
{
currency_sections: [
{
positions: [
{
id: 131,
quantity: 24
},
{
id: 133,
quantity: 1
}
],
key: value,
key: value
},
{
positions: [
{
id: 136,
quantity: 2
},
{
id: 137,
quantity: 3
}
],
key: value,
key: value
}
],
key: value,
key: value
}
],
key: value,
key: value
}
我通过车把模板构建我的数据。这并不重要。但是在我的页面上,我可以更改职位的数量。当我这样做时,我只有我更改的位置和新数量的 id。
所以基本上我需要过滤我的对象,以在通过 id 键匹配的位置数组中找到一个对象并更改那里的数量。
我也可以删除整个位置,在这种情况下,我需要找到需要id的位置对象并删除整个对象。
我无法理解的是我如何一次过滤所有数据。如果我能找到它,我该如何操作未命名的对象。
假设我以某种方式过滤了它。是否可以返回该对象的完整路径以供以后使用?在示例中 - 部分[0].currency_sections[1].位置[0] ?因为如果我能做到这一点,那么删除和编辑应该足够简单。
在这一点上,我真的没有时间重做所有更合适的东西,比如角度或余烬。虽然我有下划线和jquery。
只是想更新我的问题。最后,我只是创建了一个构建元素索引的方法。
function _createItemsIndex(data) {
if (!$.isEmptyObject(data)) {
$.each(data.sections, function (sectionIndex, section) {
$.each(section.currency_sections, function (curSecIndex, curSec) {
$.each(curSec.positions, function (positionIndex, position) {
_items.push({
id: position.id,
quantity: position.quantity,
price: parseFloat(position.price) || 0,
index: [sectionIndex, curSecIndex, positionIndex]
});
});
});
});
}
}
谢谢李维的评论