首页 > 解决方案 > 如何使用反应循环遍历数组并根据某些条件将其推送到单独的数组中?

问题描述

我有一个名为“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 中实现上述功能。有人可以帮我解决这个问题。谢谢。

标签: javascriptreactjs

解决方案


一个更好的方法是使用过滤器如下

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}
}

推荐阅读