javascript - 如何使用反应循环遍历数组并根据某些条件将其推送到单独的数组中?
问题描述
我有一个名为“all_items”的数组,我想将其拆分为两个名为“self”和“others”的数组。
我想遍历“all_items”数组中的每个项目,如果该项目是由 current_user 添加的,那么如果不是“others”数组,则将其推送到“self”数组
item = {
id: 0,
owner_id: 1,
name: "name",
}
下面是算法,
group = () => {
const self = [];
const others = [];
for each item
if item is uploaded by current_user
self.push(item)
else
others.push(item)
return {self, others}
}
我如何在 react 或 javascript 中实现上述功能。有人可以帮我解决这个问题。谢谢。
解决方案
一个更好的方法是使用过滤器如下
const group = () => {
const items = [
{
id: 0,
owner_id: 1,
name: "name",
},
{
id: 2,
owner_id: 2,
name: "user 2",
}
];
let current_user = { id: 1, name: "current user"}
const result = items.filter(item => item.owner_id != current_user.id);
const result2 = items.filter(item => item.owner_id == current_user.id);
return { result, result2}
}