42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
|
const fs = require('node:fs')
|
||
|
const path = require('node:path')
|
||
|
|
||
|
// 读取文件路径
|
||
|
const inputFilePath = path.join(__dirname, 'output.json')
|
||
|
|
||
|
// 输出文件路径
|
||
|
const outputFilePath = path.join(__dirname, 'word_list.json')
|
||
|
|
||
|
// 读取JSON文件
|
||
|
fs.readFile(inputFilePath, 'utf8', (err, data) => {
|
||
|
if (err) {
|
||
|
console.error('读取文件失败:', err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// 解析JSON内容
|
||
|
const records = JSON.parse(data)
|
||
|
|
||
|
// 用于存储所有分割后的单词
|
||
|
const wordSet = new Set()
|
||
|
|
||
|
// 遍历每个元素,将其按下划线分割
|
||
|
records.forEach((record) => {
|
||
|
const words = record.split('_')
|
||
|
words.forEach(word => wordSet.add(word)) // 去重
|
||
|
})
|
||
|
|
||
|
// 将Set转换为数组
|
||
|
const uniqueWords = Array.from(wordSet)
|
||
|
|
||
|
// 将结果写入到新的JSON文件
|
||
|
fs.writeFile(outputFilePath, JSON.stringify(uniqueWords, null, 2), (err) => {
|
||
|
if (err) {
|
||
|
console.error('写入文件失败:', err)
|
||
|
}
|
||
|
else {
|
||
|
console.log(`单词列表已保存到文件: ${outputFilePath}`)
|
||
|
}
|
||
|
})
|
||
|
})
|