javascript - 属性匹配时替换或更新数组中的对象
问题描述
我正在使用 Vuejs 构建数据过滤组件。我将选定的过滤器选项存储在一个如下所示的数组中:
[{ "key": "payment", "name": "Payment", "options": [ "paid", "pending" ] }, { "key": "status", "name": "Order Status", "options": ["unfulfilled"] } ]
When a filter option is selected or deselected I want to update this array of objects. 即,如果我们删除“待定”选项,它将如下所示:
{ "key": "payment", "name": "Payment", "options": [ "paid"]} ...
JS中是否有办法推送键匹配的更新选项,或者我是否需要删除现有对象并替换为新对象?
解决方案
所以我想出了这个,在添加新的更新对象之前删除对象:
updateFilters(key, name, options) {
this.selectedOptions = this.selectedOptions.filter(obj => {
return obj.key != key;
});
this.selectedOptions.push({ key: key, name: name, options: options });
}
推荐阅读
- python-sphinx - 如何在重组文本中居中对齐表格列?
- r - 绘制威布尔的可能性
- javascript - 如何在 React 中使用媒体查询?
- python - 使用列表推导扩展堆栈
- jquery-mobile - Jquery Mobile:在没有 iframe 的情况下嵌入外部 HTML 文件
- r - 在闪亮的仪表板中的 menuItem 标题中设置空白
- javascript - 如何解决 firebase 函数控制台中的 "status":{"code":3,"message":"INVALID_ARGUMENT"} 错误?
- python - 无法使用 API 从 Amazon S3 获取文件
- javascript - 使用 javascript 构建 UL 仅创建 1 个 li 元素
- python - 访问表时 Django Sql ERROR 1064