let arr = [{fileName: '短信-附件'},{fileName: '海报-附件'} ] let list = ['短信', 'PPT'] // 判断数组arr是否满足list数组的所有成员,并且打印不满足的成员
时间: 2024-10-16 14:18:09 浏览: 8
arr-sort:多重条件下的数组排序方法
要判断数组`arr`是否都包含`list`数组中的所有文件名,可以使用`every()`方法,这个方法用于测试数组的每个元素是否满足提供的测试函数。在这个场景下,测试函数就是检查文件名是否在`list`中。下面是实现这一功能的代码:
```javascript
let arr = [{ fileName: '短信-附件' }, { fileName: '海报-附件' }];
let list = ['短信', 'PPT'];
function isFilenameInList(filename) {
return list.includes(filename);
}
let passesAllTests = arr.every(item => isFilenameInList(item.fileName));
if (passesAllTests) {
console.log('所有成员都满足');
} else {
console.log('不满足的成员:', arr.filter(item => !isFilenameInList(item.fileName)));
}
```
如果`passesAllTests`为`true`,说明`arr`完全包含`list`的所有元素;否则,`filter()`方法会过滤出那些不在`list`中的文件名,并打印出来。
注意,这里的`isFilenameInList`函数是一个辅助函数,它接收一个文件名作为参数,检查其是否在`list`中。
阅读全文