
const {a, b, c, d, e, f, g, h} = anObject let newObject = {a, b, c, d, e, f, g, h} callFunc({...newObject}) 因为 a, b, c, d, e, f, g, h 这几个变量很长,有没有好的写法?
1 yunying 2022 年 7 月 21 日 callFunc({... anObject}) |
3 murmur 2022 年 7 月 21 日 const { aaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbbbbbb, ccccccccccccccccccccccccccc, dddddddddddddddddddddd } = anObject |
4 mxT52CRuqR6o5 2022 年 7 月 21 日 原生 js (感觉怎么样都要写很多) callFunc(Object.fromEntries(Object.entries(anObject).filter(([key])=>['a','b','c','d','e','f','g','h'].includes(key)))) lodash 之类的工具库 callFunc(_.pick(anObject,['a','b','c','d','e','f','g','h'])) |
7 acthtml 2022 年 7 月 21 日 lodash pick function const newObj = _.pick(obj, [keyA, keyB]) |
8 Liam1997 2022 年 7 月 21 日 lodash pick |
9 rrfeng 2022 年 7 月 21 日 可以反过来写,把不要的列出来? |
10 shyling 2022 年 7 月 21 日 没懂意思。。。一般来说 callFunc 不怕 object 多参数的吧? |
11 Vegetable 2022 年 7 月 21 日 你参数是一个 obj ,他参数多就多呗。你这么写也做不到 deepcopy ,...都多余 |
12 libook 2022 年 7 月 21 日 换行写就行,挺清晰的。 因为 git 是按行检查的,所以为了在增删改选取属性时能让 git 记录精确一些,我习惯在这种情况下换行写,如: const { a, b, } = anObject; 如果想加个 c 只需要加一行,git 提交记录只会显示添加了一行 c ,不会显示整行有修改,这样更清晰一些。 |
13 Vegetable 2022 年 7 月 21 日 *属性 |
14 lneoi 2022 年 7 月 21 日 有种不太好看的写法,如果 anObject 中不需要的元素比较少,比如 f 后面只有 x,y 两个不要,可以写 const { x, y, ...newObject } = anObject 然后取 newObject ,xy 没用到会有提示,用了什么数据也不明确。 |
15 FrankFang128 2022 年 7 月 21 日 lodash.pick( |
16 PrtScScrLk 2022 年 7 月 21 日 说一个 pick 的反向操作 omit , 从对象里去掉一些属性,比直接 delete 好用点儿。 |
17 aleen42 2022 年 7 月 22 日 via Android |