我有一个 JavaScript 对象
var items = { ids : [
{
label: "red",
complete: true
},
{
label: "green",
complete: false
},
{
label: "blue",
complete: true
}
]
}
当我单击完整按钮或单击所有按钮时,它会显示所有条目,我需要根据完整属性进行过滤。
如何在同一个函数中执行此操作
我有这个函数,它获取列表 DOM 元素并相应地创建条目。我想知道如何编写这个函数,以便它可以过滤完整状态或打印重绘函数本身中的所有条目。
var redraw = function(items) {
list.innerHTML='';
for (var id in items) {
draw(model.todos[id], list);
}
};
var draw = function(Obj, container) {
var el = Template.cloneNode(true);
el.setAttribute('data-id', Obj.id);
container.appendChild(el);
update(Obj);
});
}
最佳答案
添加一个名为 filterItems
的新函数,该函数接受 items
数组、key
和 value
参数并返回根据这些参数过滤数组。然后,只需使用正确的参数从 redraw
调用它即可。
function filterItems(items, key, value) {
return items.ids.filter(function (el) {
return el[key] === value;
});
}
var redraw = function(items) {
list.innerHTML='';
items = filterItems(items, 'complete', true);
for (var id in items) {
draw(model.todos[id], list);
}
};
关于javascript - 如何根据 JavaScript 对象的属性过滤它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997518/