V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
luckfunc
V2EX  ›  程序员

前端代码优化。

  •  
  •   luckfunc · 23 天前 · 1280 次点击
    
    interface IData {
    	a?: string;
    	b?: string;
    	c?: string;
    }
    const getObj = (data: IData) => {
    	const { a = '1', b = '2', c = '3' } = data || {};
    	// data 可能返回的值是 {  a: '', b: '', c: ''}
    	return {
    		a: a || '1',
    		b: b || '2',
    		c: c || '3'
    	};
    };
    

    有没有大佬可以指教下 这段代码应该怎么优化。

    15 条回复    2024-05-24 14:43:07 +08:00
    shiyidi
        1
    shiyidi  
       23 天前
    const getObj = (data: IData) => {
    return {
    a: data.a || '1',
    b: data.b || '2',
    c: data.c || '3'
    }
    }
    v21984
        2
    v21984  
       23 天前
    interface IData {
    a?: string;
    b?: string;
    c?: string;
    }
    const getObj = (data: IData) => {
    const { a = '1', b = '2', c = '3' } = data;
    return { a, b, c };
    };
    CHTuring
        3
    CHTuring  
       23 天前 via iPhone
    interface IData {
    a?: string;
    b?: string;
    c?: string;
    }
    const getObj: Required<IData>= (data?: IData) => {
    const { a = '1', b = '2', c = '3' } = data ?? {}
    return { a, b, c };
    };
    CHTuring
        4
    CHTuring  
       23 天前 via iPhone
    @CHTuring 额,用手机回复写少了代码
    jianchang512
        5
    jianchang512  
       23 天前
    这种问题应该是 chatGPT 更擅长的领域吧
    luckfunc
        6
    luckfunc  
    OP
       23 天前 via iPhone
    @shiyidi 谢谢大佬 受教了,之前写法有点多余
    luckfunc
        7
    luckfunc  
    OP
       23 天前 via iPhone
    @CHTuring 谢谢老哥,学习了
    luckfunc
        8
    luckfunc  
    OP
       23 天前 via iPhone
    @CHTuring 不过有点问题,当 abc 都有值,但是值为空字符串的时候 ,还想返回默认值
    vace
        9
    vace  
       23 天前
    ```ts
    const getObj = ({ a, b, c }: IData = {}) => ({ a: a || '1', b: b || '2', c: c || '3' })
    ```
    ColdBird
        10
    ColdBird  
       23 天前
    这代码没啥好优化的,又没啥逻辑,平铺直叙的代码优化啥
    nitmali
        11
    nitmali  
       23 天前
    优化 ×
    简化 √
    realJamespond
        12
    realJamespond  
       23 天前
    return {a:1,b:2,c:3,...data}
    xiao8276
        13
    xiao8276  
       23 天前
    CHTuring
        14
    CHTuring  
       23 天前
    @luckfunc #8 Object.keys 遍历一遍,判断字符串类型并为空就删除它
    tianzi123
        15
    tianzi123  
       23 天前
    @realJamespond 哥哥牛逼
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2505 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:26 · PVG 17:26 · LAX 02:26 · JFK 05:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.