admin管理员组

文章数量:1321837

I have an array here:

a = [1, 1, 2, 3, 4, 5, 5, 6, 7, 7]

and another,

b = [1, 2, 5]

I want to find all occurrences of each element of array b in a. i.e. I want a resultant array like this:

result = [1, 1, 2, 5, 5]

I was going through the Lodash docs to find any bination of methods which would give me the result, but haven't managed to do so. Does anyone know how I can get the result array? I prefer to use a very concise solution (i.e. without too many loops etc), and usually Lodash is best for that, but other solutions are also fine.

I have an array here:

a = [1, 1, 2, 3, 4, 5, 5, 6, 7, 7]

and another,

b = [1, 2, 5]

I want to find all occurrences of each element of array b in a. i.e. I want a resultant array like this:

result = [1, 1, 2, 5, 5]

I was going through the Lodash docs to find any bination of methods which would give me the result, but haven't managed to do so. Does anyone know how I can get the result array? I prefer to use a very concise solution (i.e. without too many loops etc), and usually Lodash is best for that, but other solutions are also fine.

Share Improve this question asked Oct 21, 2016 at 23:06 user3033194user3033194 1,8317 gold badges44 silver badges66 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 7

You'd just filter the first array based on the second array

var a = [1, 1, 2, 3, 4, 5, 5, 6, 7, 7];
var b = [1, 2, 5];

var result = a.filter( z => b.indexOf(z) !== -1 );

console.log(result);

You can use for..of loops to iterate b check if element of a is equal to current element in b

let a = [1, 1, 2, 3, 4, 5, 5, 6, 7, 7];

let b = [1, 2, 5];

let result = [];

for (let prop of b) {
  for (let el of a) {
    if (el === prop) result = [...result, el]
  }
}

console.log(result);

If you really wanted to use _, you could use 2 _.difference calls.

var a = [1, 1, 2, 3, 4, 5, 5, 6, 7, 7];
var b = [1, 2, 5];

var result = _.difference(a,_.difference(a,b));

console.log(result);
<script src="https://cdn.jsdelivr/lodash/4.16.4/lodash.min.js"></script>

本文标签: Find all occurrences of each element of an array in another array in JavascriptStack Overflow