React数组工具函数

//数组操作工具函数:arrayUtils都是产生新的array,而不是操作源array
let arrayUtils = {
    /**
     * 在指定索引位置增加新元素,未指定index时添加到最后面
     * @param array (array)
     * @param newItem   (object)
     * @param index (int)
     * @returns {*} 返回新数组
     */
    addItem: (array, newItem, index) => {
        if(typeof index !== 'undefined'){
            return [
                ...array.slice(0, index),
                newItem,
                ...array.slice(index + 1)
            ]
        }else{
            return [
                ...array,
                newItem
            ];
        }
    },
    /**
     * 删除指定id的元素
     * @param array
     * @param id
     * @returns {[*,*]} 返回新数组
     */
    delItem: (array, id) => {
        const findIndex = array.findIndex(item => item.id == id);

        return [
            ...array.slice(0, findIndex),
            ...array.slice(findIndex + 1)
        ];
    },
    /**
     * 替换数组中指定的元素
     * @param array
     * @param id    
     * @param newItem (object)
     * @returns {[*,*,*]} 返回新数组
     */
    modifyItem: (array, id, newItem) => {
        const findIndex = array.findIndex(item => item.id == id);

        return [
            ...array.slice(0, findIndex),
            {
                ...array[findIndex],
                ...newItem
            },
            ...array.slice(findIndex + 1)
        ];
    }
};

  

转载于:https://www.cnblogs.com/nankeyimeng/p/7235376.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值