Javascript 洛达斯串+;排列

Javascript 洛达斯串+;排列,javascript,lodash,Javascript,Lodash,我正在学习lodash,查阅了大量的文档,有点疲惫不堪地寻找解决方案: const r = 'ABCD'; const s = ['1', '2', '3', '4']; 我希望最终返回值为: ['A1', 'B2', 'C3', 'D4'] 我主要关心的是性能。一定要快!我所拥有的大约需要2500-3000ms才能获得~56k的列表 更新: 我所做的是: [`${r[0]}${s[0]}`, `${r[1]}${s[1]}`, `${r[2]}${s[2]}`, `${r[3]}${s[3

我正在学习lodash,查阅了大量的文档,有点疲惫不堪地寻找解决方案:

const r = 'ABCD';
const s = ['1', '2', '3', '4'];
我希望最终返回值为:

['A1', 'B2', 'C3', 'D4']
我主要关心的是性能。一定要快!我所拥有的大约需要2500-3000ms才能获得~56k的列表

更新: 我所做的是:

[`${r[0]}${s[0]}`, `${r[1]}${s[1]}`, `${r[2]}${s[2]}`, `${r[3]}${s[3]}`]
谢谢你的建议。我试过地图和本地地图,我有点惊讶于它们的速度有多慢

字符串模板耗时2.5s

lodash映射r耗时4.5s

洛达斯作图用了13秒

本机映射需要5s

本机映射需要15秒


我真希望我能把它降到1s。

你可以使用本机方法

var r='ABCD',
s=['1','2','3','4'],
map=s.map((a,i)=>r[i]+a);

console.log(映射)我更喜欢原生js技术

var r = 'ABCD',
    s = ['1', '2', '3', '4'],
var mapped = [];
for(var i = 0 ; i<s.length; i++) {
  mapped.push('' + r[i] + s[i]);
}
console.log(mapped);

var result=u.map(r,(e,i)=>e+s[i])
Javascript与执行该代码的客户端的浏览器和计算机功能一样快。如果您需要一个与您的客户机没有差异的快速处理,请使用您的服务器,通过一个AJAX请求,您可以将所有详细信息发送到服务器,在服务器上处理它们,并以比在客户机上处理更快的速度将结果返回给客户机。但是,由于您没有提供代码(需要3秒钟才能完成),我们无法更好地帮助您。对不起。@cocacrave-你太快删除了你最近的问题-我想我已经找到了解决办法@塔萨,现在不在了。那只是花言巧语。
var r = 'ABCD',
    s = ['1', '2', '3', '4'],
    mapped = s.map((a, i) => r[i] + a);

console.log(mapped);