首页 > 解决方案 > 如何匹配减速器对象数组中的最后一个对象并添加或修改属性?

问题描述

我的减速器数组中有对象。我想更新数组中的最后一个对象并检查是否有 items 属性,如果没有,则连接新项目,然后使用 action.payload.items 创建它。

这是代码:

case SET_CATEGORIES_SEARCH_ITEMS:
      return {
        ...state,
        [action.payload.hash]: {
          ...state[action.payload.hash],
          [state[action.payload.hash][action.payload.name]]: [state[action.payload.hash][action.payload.name]].map((elem, index) => {
            if (index === action.payload.position) {
              elem = { ...elem };
              elem['items'] = elem['items'] ? elem['items'].concat(action.payload.items) : action.payload.items;
            }
            return elem;
          }),
        },
      };

这里是要点:https ://gist.github.com/Jalson1982/116dec13f7070e7753fce018548c2770

此代码的问题在于它不起作用:) 它不会更新数组中的最后一个对象。对此有何建议或帮助?

标签: javascriptarraysredux

解决方案


推荐阅读