Я написал следующий скрипт nodejs (sortLabels.js), и он отлично работает для файла на labelsFilePath
, который содержит объект, но он не работает для файла по адресу labelIdsFilePath
, который представляет собой массив строки. Я в основном пытаюсь сортировать оба файла, а затем перезаписывать содержимое этих файлов с новыми отсортированными значениями. По какой-то причине в файле labelIds я получаю дубликаты.nodejs writeFile возвращающие дубликаты
let labelsFilePath = './server/mocks/label.json';
let labels = require(labelsFilePath);
let labelIdsFilePath = './client/app/common/config/label-ids.json';
let labelIds = require(labelIdsFilePath);
const _ = require('lodash');
let fs = require('fs');
labels = _.sortBy(labels, "id");
labelIds = _.sortBy(labelIds, (num) => num);
fs.writeFile(labelsFilePath, JSON.stringify(labels), function(err){
if(err) console.log(err); else {
console.log('labels were sorted');
}
})
fs.writeFile(labelIdsFilePath, JSON.stringify(labelIds), function(err){
if(err) console.log(err);
else {
console.log('labels ids were sorted');
}
})
перед запуском сценария (node sortLabels
), это то, что LabelIds выглядеть так:
[
"0083",
"0117",
"0021",...]
и после:
["0012","0012","0021","0021"....]
, что я делаю неправильно/не хватает?
Да, я сделал это, длина была такой же до и после ... хорошая точка, хотя, проверит это. – devdropper87
ты действительно был прав, спасибо – devdropper87