如何在vectorMap函数参数中通过循环简化data元素赋值逻辑?
一行代码实现批量添加元素到data的方案
当然可以!要实现和你原来逐一添加元素完全相同的效果,一行代码就能搞定,具体要看你使用的vectorMap函数的具体行为,分两种常见情况处理:
如果
vectorMap函数执行后返回一个包含目标元素的数组/可迭代对象,直接用扩展运算符配合push方法就能批量添加:data.push(...vectorMap(你的参数列表));这里的
...是扩展运算符,它会把vectorMap返回的集合里的每个元素单独展开,作为push的参数,效果和你逐个调用data.push(元素)完全一致。如果
vectorMap是需要传入回调函数来遍历元素的类型(类似原生数组的map方法),那可以直接把添加逻辑作为回调传给它:vectorMap(待处理的元素集合, item => data.push(item));这样
vectorMap会遍历每个元素,自动执行data.push(item),一行代码就完成了循环添加的逻辑。
简单来说,核心就是利用vectorMap对元素集合的遍历能力,要么批量展开推入,要么把添加操作嵌入遍历回调里,就能用一行代码替代原来的逐个添加逻辑。
内容的提问来源于stack exchange,提问作者Kuartz
相关产品推荐
相关产品推荐

