嗨,我是 node.js 的绝对初学者今天我尝试了以下代码
var fs, arr;
var dir, str;
var cont, item;
fs=require('fs');
cont=fs.readFileSync('unsort.txt').toString();
arr=cont.split('\n');
arr.sort();
for(str=arr.shift();str&&(item=arr.shift());)
str+='\n'+item;
fs.writeFileSync('sort_by_script.txt', str);
上面的 node.js 代码从 node.exe 的目录中读取一个文件作为字符串。通过换行符 ('\n') 拆分字符串以获取数组。对数组进行排序并将排序后的数组打印到文件中。因此,作为一个整体,脚本读取文件对条目进行排序,并将排序后的条目保存在另一个文件中。问题是排序顺序不正确。我尝试使用 MS Excel 手动对 unsort.txt 的内容进行排序,通过它我得到了正确的排序顺序。任何人都可以帮助我为什么 arr.sort() 不能正常工作。可以下载包中的unsort.txt、sort_by_script.txt、sort_by_ms_excel.txt和node.exe [Sort.rar][1]
注意:unsort.txt 没有数字。一切都只是字母。
unsort.txt 中的示例:
appjs
gbi
node
frame
require
process
module
WebSocket
webkitAudioContext
webkitRTCPeerConnection
webkitPeerConnection00
webkitMediaStream
MediaController
HTMLSourceElement
TimeRanges