如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
How to filter deeply stacked data inside an object(and editdelete it afterwards)?
我这里有一个问题,我找不到如何解决它。我有一个有很多级别的对象。在我的对象中存在带有对象的数组,它们也有带有对象的数组。让我在这里向您展示一些示例:
{
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]
});
});
});
});
}
}
谢谢李维的评论
相关文章:
- web浏览器中的离线应用程序存储数据并在之后上传
- 在post-expressjs之后持久化表单数据
- 基于类的单击事件在10行之后不响应-数据表
- 如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
- d3在鼠标悬停上过滤数据之后从选择中提取值
- Sencha Touch:如何在setData()之后刷新组件的数据
- Jquery 数据表 序列化程序之后 ASP.NET 日期格式
- 在动态更改数据之后(在ajax调用之后)检查函数是否存在
- "脏的“;函数,需要脚本将触发延迟到加载数据之后
- 在$state.go之后在控制器之间传递数据
- Ajax在maxlength之后请求keyup-maxlength后出现数据错误
- 在 ajax 之后执行数据表或重新绘制表
- jqGrid:在表中已有的本地数据之后加载 JSON 数据
- 如何在窗口位置之后存储数据
- 如何将数据从 href 获取到字符串并在之后使用它
- 在jQuery选择菜单之后捕获数据属性
- 在某些数据之后创建事件对象
- 如何删除多维数据集.js实例的一天之后的事件
- Morris图表无法处理动态数据,即使在以Json格式发送数据之后也是如此
- 如何添加
数据之后