var l1 = ['a','b','c','d','e']
var l2 = ['a','c','e']
// 在一个循环里面,能把 l1 变成 ['b','d'] 吗?
1
plqws 2018-09-19 13:20:19 +08:00 via iPhone 1
一个循环?楼主要用 JS 做百万并发吗
|
2
jtsai OP ```
var l1 = ['a','b','c','d','e'] var l2 = ['a','c','e'] for (let i of l1) { if (l2.indexOf(i) !== -1) { l1.splice(l1.indexOf(i) ,1) } } console.log(l1) // ['b', 'd'] // 我把帖子发上来就成功了 ``` |
3
li746224 2018-09-19 13:29:14 +08:00 1
_.pullAll() ?
|
4
wd 2018-09-19 13:30:52 +08:00 via iPhone 1
你觉得 indexof 的复杂度多少?
|
5
bzw875 2018-09-19 14:48:24 +08:00 1
l1.filter(function(tmp){
return l2.indexOf(tmp) === -1; }); |
6
leekafai 2018-09-20 11:40:42 +08:00 1
|
7
jtsai OP @leekafai 其实我的业务是一个数组对应多个数组要删除掉数据。filter 不太好用,不过我换其他方式解决了。
就是单纯的对这个问题 https://www.v2ex.com/t/490821 疑惑,见 4 楼 |