js筛选出数组中以txt、docx,结尾的数据
时间: 2023-11-28 07:47:28 浏览: 67
可以使用正则表达式和Array.prototype.filter() 方法来实现。
代码示例:
```javascript
const files = ["file1.txt", "file2.docx", "file3.jpg", "file4.doc"];
const filteredFiles = files.filter(file => /\.(txt|docx)$/.test(file));
console.log(filteredFiles); // ["file1.txt", "file2.docx"]
```
解释:
- `/\.(txt|docx)$/` 是一个正则表达式,表示匹配以 ".txt" 或 ".docx" 结尾的字符串。
- `Array.prototype.filter()` 方法用于筛选数组中符合条件的元素,返回一个新数组。
- `filteredFiles` 是一个新数组,其中包含原数组 `files` 中以 ".txt" 或 ".docx" 结尾的元素。
相关问题
js筛选出数组中对象中以txt、docx,结尾的数据
假设有如下数组 `data`:
```javascript
const data = [
{ filename: 'file1.txt' },
{ filename: 'file2.pdf' },
{ filename: 'file3.docx' },
{ filename: 'file4.png' },
];
```
可以使用 `filter` 方法筛选出文件名以 `.txt` 或 `.docx` 结尾的对象,代码如下:
```javascript
const filteredData = data.filter(item => {
const ext = item.filename.split('.').pop(); // 获取文件后缀名
return ext === 'txt' || ext === 'docx'; // 判断后缀名是否为 txt 或 docx
});
console.log(filteredData); // [{ filename: 'file1.txt' }, { filename: 'file3.docx' }]
```
其中,`split()` 方法可以将字符串按照指定的分隔符分割成数组,`pop()` 方法可以获取数组最后一个元素(即文件后缀名)。
阅读全文