Nic*_*k D 4 javascript arrays object ecmascript-6 reactjs
我的程序中有两个数组,一个包含充当键的字符串列表,另一个包含包含键的对象。
let classKeys = ['math', 'robotics'];
let classesInList = [{key : "WIHUGDYVWJ", className : 'math'},{key : "qwljdhkuqwdnqwdk", className : 'english'},{key : "likubqwd", className : 'robotics'},];
Run Code Online (Sandbox Code Playgroud)
仅当 classKeys 中存在键(作为 className 属性)时,我才需要返回另一个包含 classesInList 等对象的数组
例如,在这种情况下,我需要根据 classesInList 检查 classKeys 并创建一个包含两个项目的数组:
[{key : "WIHUGDYVWJ", className : 'math'},{key : "likubqwd", className : 'robotics'}]
Run Code Online (Sandbox Code Playgroud)
由于英语不在 classKeys 中,因此它从 classesInList 中删除。我该怎么办?
旁注:我使用的是 react native,所以我可以访问 es6 属性和函数。
我完全被困在这个意义上。无论这看起来多么简单,我都找不到答案。
只需使用Array.prototype.filter
并将其与Array.prototype.includes
. 你想要做的是过滤classesInList
对象数组,只选择那些className
值存在于classKeys
数组中的对象。
let classKeys = ['math', 'robotics'];
let classesInList = [{key : "WIHUGDYVWJ", className : 'math'},{key : "qwljdhkuqwdnqwdk", className : 'english'},{key : "likubqwd", className : 'robotics'}];
let filteredClasses = classesInList.filter(cls => classKeys.includes(cls.className));
console.log(filteredClasses);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10600 次 |
最近记录: |