javascript - 如果在 arrayB 中找不到对象,则删除 arrayA 中的对象 - Javascript
问题描述
为我的小项目寻找一些建议。
例如,我有这两个数组
selectedItems = ['a', 'b', 'c', 'd', 'z']
availableItems = ['a', 'c', 'x', 'z']
我想要实现的是将我的selectedItems
数组与我的availableItems
数组进行比较。如果在 中selectedItems
找不到项目availableItems
,则将其从中删除selectedItems
结果:
selectedItems = ['a' 'c', 'z']
availableItems = ['a', 'c', 'x', 'z']
我知道我可以通过几个 for 循环轻松实现这一点,但是我想知道是否有更好的方法来使用 Javascript 做到这一点
解决方案
您也可以使用 ES6过滤器来执行此操作。
selectedItems = ['a', 'b', 'c', 'd', 'z']
availableItems = ['a', 'c', 'z']
const result = selectedItems.filter(item => availableItems.includes(item));
console.log(result)
推荐阅读
- javascript - 如何使用javascript循环对象数组?
- javascript - 将 svg 转换为 react-native-svg
- sql-server - 什么是重复相同数字 5 次或更多次的正则表达式,例如 11111、22222、33333、44444
- javascript - 折射:从猫鼬回调中返回或推送值到新的数组值
- sonarqube - sonar-runner.bat JAVA_HOME 未指向有效的 Java 主目录
- python - jupyter notebook 没有在 anaconda 提示符中打开
- ruby-on-rails - 在三元运算符条件下带有 Link_to 助手的 Image_tag
- c++ - 重载运算符<<在谷歌C++风格
- sails.js - Sails.js 1.0 find 不会自动返回关联
- javascript - 通过服务器路径访问 json 对象时获取 xmlhttp 响应为空