// https://www.w3schools.com/xml/simple.xml
// Мне дан вышеупомянутый xml-файл, в котором есть названия пунктов меню наряду с другими вещами (цена, калории и т. Д.), И мне нужно поместить только имена в массив, используя кодировку JavaScript. Я использую repl.it, и я уже сохранил файл в формате .xml на стороне моей программы. Мне просто нужно знать, как извлечь только имена в массив. Например, массив должен выглядеть следующим образом: [бельгийские вафли, клубничные бельгийские вафли, (и так далее)].
// Кроме того, мне нужно поместить калории, цену и другие данные в отдельные массивы, но я уверен, что если я научусь делать массив для одной вещи, я смогу сделать и другие массивы.
// В прошлом я создавал этот код для извлечения результатов из файла со списком результатов (откройте ссылку repl.it в комментариях, чтобы увидеть ее в действии):
// This program uses a file which has 6 peoples scores to calculate and display the max., min., and ave. scores and also puts them in an array. The program reads the file, trims out the strings so only the numbers are left & converted to numbers, limits the average score to the hundreths place, and verifies the file exists. The number of scores can be changed from 6 and the program would still work.
// Reference(s): https://www.w3schools.com/jsref/jsref_tofixed.asp
// https://codeburst.io/javascript-arrays-finding-the-minimum-maximum-sum-average-values-f02f1b0ce332
// Repl.it link: https://repl.it/live/AFSloyKSNJQjlA
main();
function main() {
var filename = "scores.txt";
if(!fileExists(filename)) {
console.log(`File ${filename} is missing.`)
return
}
var scores = [];
var scores = readFile("scores.txt");
console.log(scores);
var maximum = getMax(scores);
console.log("Maximum score: " + maximum)
var minimum = getMin(scores);
console.log("Mininum score: " + minimum);
var sum = getSum(scores);
var ave = sum / scores.length;
var ave = ave.toFixed(2);
console.log("Average score: " + ave);
}
function fileExists(filename) {
var fs = require('fs');
return fs.existsSync(filename);
}
function readFile(filename) {
var fs = require('fs');
var scores = [];
var contents = fs.readFileSync(filename, 'utf8');
lines = contents.split('\n');
for (var index = 0; index < lines.length; index++) {
var pos = lines[index].indexOf(',') + 1;
var scoreStr = lines[index].substring(pos).trim();
var score = Number(scoreStr);
if (!isNaN(score)) {
scores.push(score);
}
}
return scores;
}
function getMax(scores) {
scores.sort(function(a, b){return b - a});
var maximum = scores[0];
return maximum;
}
function getMin(scores) {
scores.sort(function(a, b){return a - b});
var minimum = scores[0];
return minimum;
}
function getSum(scores) {
return scores.reduce(function(a,b){
return a + b
}, 0);
}