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-07-21 10:38:22 +08:00
callFunc({... anObject})
|
3
murmur 2022-07-21 10:40:10 +08:00
const {
aaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbbbbbb, ccccccccccccccccccccccccccc, dddddddddddddddddddddd } = anObject |
4
mxT52CRuqR6o5 2022-07-21 10:43:29 +08:00
原生 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'])) |
5
bojackhorseman 2022-07-21 10:44:02 +08:00
|
7
acthtml 2022-07-21 10:44:12 +08:00 1
lodash pick function
const newObj = _.pick(obj, [keyA, keyB]) |
8
Liam1997 2022-07-21 10:45:25 +08:00
lodash pick
|
9
rrfeng 2022-07-21 10:48:11 +08:00
可以反过来写,把不要的列出来?
|
10
shyling 2022-07-21 10:54:30 +08:00
没懂意思。。。一般来说 callFunc 不怕 object 多参数的吧?
|
11
Vegetable 2022-07-21 10:57:44 +08:00
你参数是一个 obj ,他参数多就多呗。你这么写也做不到 deepcopy ,...都多余
|
12
libook 2022-07-21 10:58:00 +08:00 1
换行写就行,挺清晰的。
因为 git 是按行检查的,所以为了在增删改选取属性时能让 git 记录精确一些,我习惯在这种情况下换行写,如: const { a, b, } = anObject; 如果想加个 c 只需要加一行,git 提交记录只会显示添加了一行 c ,不会显示整行有修改,这样更清晰一些。 |
13
Vegetable 2022-07-21 10:58:18 +08:00
*属性
|
14
lneoi 2022-07-21 11:28:22 +08:00
有种不太好看的写法,如果 anObject 中不需要的元素比较少,比如 f 后面只有 x,y 两个不要,可以写 const { x, y, ...newObject } = anObject
然后取 newObject ,xy 没用到会有提示,用了什么数据也不明确。 |
15
FrankFang128 2022-07-21 15:17:46 +08:00
lodash.pick(
|
16
PrtScScrLk 2022-07-21 16:50:39 +08:00
说一个 pick 的反向操作 omit , 从对象里去掉一些属性,比直接 delete 好用点儿。
|
17
aleen42 2022-07-22 00:11:19 +08:00 via Android 1
|