js筛选出数组中以txt、docx,结尾的数据
时间: 2023-11-28 09:47:28 浏览: 27
可以使用正则表达式和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()` 方法可以获取数组最后一个元素(即文件后缀名)。
将docx文档中表格内容输出到txt文档中
可以使用Python中的`python-docx`库读取docx文档中的表格内容,并将其输出到txt文档中。以下是一个示例代码:
```python
import docx
# 读取docx文档
doc = docx.Document('example.docx')
# 打开txt文档
with open('output.txt', 'w', encoding='utf-8') as f:
# 遍历文档中的所有表格
for table in doc.tables:
# 遍历表格中的所有行和列
for i, row in enumerate(table.rows):
for j, cell in enumerate(row.cells):
# 将单元格内容写入txt文档
f.write(cell.text + '\t')
f.write('\n')
```
这段代码会读取名为`example.docx`的docx文档,并将其中的所有表格内容输出到名为`output.txt`的txt文档中。在txt文档中,每个单元格的内容以制表符`\t`分隔,每一行的内容以换行符`\n`分隔。你可以根据需要对输出的格式进行调整。