[英]filter an array based on values of another array in typescript
if I have an array looking as the following:如果我有一个如下所示的数组:
names: [{
value: 'recordedData',
desc: 'Data'
} {
value: 'recordedNumbers',
desc: 'numbers'
} {
value: 'recordedNames',
desc: 'names'
}]
and another array looking as the following:另一个数组如下所示:
displayed: [{
value: 'data',
desc: 'Data'
} {
value: 'numbers',
desc: 'numbers'
}]
I want to filter the first array based on the second array so I would have the following resulted array:我想根据第二个数组过滤第一个数组,所以我会得到以下结果数组:
DisplayedNames: [{
value: 'recordedData',
desc: 'Data'
} {
value: 'recordedNumbers',
desc: 'numbers'
}]
Using Array.prototype.filter()
and Array.prototype.some()
is an elegant way to achieve this使用
Array.prototype.filter()
和Array.prototype.some()
是一种优雅的方式来实现这一点
const names = [{value: 'recordedData', desc: 'Data'}, {value: 'recordedNumbers', desc: 'numbers'}, {value: 'recordedNames', desc: 'names'}]; const displayed = [{ value: 'data', desc: 'Data' }, { value: 'numbers', desc: 'numbers' }] const result = names.filter(x => displayed.some(y => y.desc === x.desc)); console.log(result);
More about Array.prototype.some()
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some More about Array.prototype.filter()
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter更多关于
Array.prototype.some()
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some更多关于Array.prototype.filter()
- https:/ /developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.