下面是main.js
的代码:
const fs = require('fs');
const readline = require("readline");
const stream = fs.createReadStream("./data.csv");
const rl = readline.createInterface({ input: stream });
let data = [];
let header = [];
rl.on("line", (row) => {
if (header.length === 0) {
// Memproses baris judul (header)
header = row.split(";");
} else {
// Memproses baris data
const rowData = row.split(";");
const obj = {};
// Membuat objek dari baris data
for (let i = 0; i < header.length; i++) {
obj[header[i]] = rowData[i];
}
// Menambahkan objek ke dalam array data
data.push(obj);
}
});
rl.on("close", () => {
let hasil_mentah = [];
for (let k = 0; k < data.length; k++) {
const { Nama, Harga } = data[k];
const obj_data = {
Nama: Nama.toLowerCase(), // Mengubah nama menjadi huruf kecil
Harga: parseInt(Harga) // Mengubah harga menjadi tipe data integer
};
hasil_mentah.push(obj_data);
}
console.log(hasil_mentah);
});
从csv文件中读取数据并给予如下输出:
[
{ Nama: 'kangkung', Harga: 3000 },
{ Nama: 'telur', Harga: 2500 },
{ Nama: 'cabai', Harga: 5000 },
{ Nama: 'bawang putih', Harga: 4000 },
{ Nama: 'bawang merah', Harga: 6000 },
{ Nama: 'tempe', Harga: 7000 },
{ Nama: 'tahu', Harga: 8000 }
]
但是如果我尝试在其他文件中运行它,使用以下代码:
const dataset = require('./main');
console.log(dataset);
结果是这样
{}
[
{ Nama: 'kangkung', Harga: 3000 },
{ Nama: 'telur', Harga: 2500 },
{ Nama: 'cabai', Harga: 5000 },
{ Nama: 'bawang putih', Harga: 4000 },
{ Nama: 'bawang merah', Harga: 6000 },
{ Nama: 'tempe', Harga: 7000 },
{ Nama: 'tahu', Harga: 8000 }
]
如何更改输出,使输出如下所示:
[
{ Nama: 'kangkung', Harga: 3000 },
{ Nama: 'telur', Harga: 2500 },
{ Nama: 'cabai', Harga: 5000 },
{ Nama: 'bawang putih', Harga: 4000 },
{ Nama: 'bawang merah', Harga: 6000 },
{ Nama: 'tempe', Harga: 7000 },
{ Nama: 'tahu', Harga: 8000 }
]
下一步,我想使用这个函数将其推送到新数组:
const prompt=require("prompt-sync")({sigint:true});
const dataset = require('./main');
var input = prompt("Masukkan Uang Anda: ");
var uang = parseInt(input);
for (let count = 0; count < dataset.length; count++) {
const variabel = dataset[count];
console.log("Nama : "+ variabel.nama);
console.log("harga : "+ variabel.harga);
var hasil_desimal = uang/variabel.harga;
var hasil_bulat = Math.floor(hasil_desimal);
console.log("jumlah dapat : "+ hasil_bulat);
console.log('-----');
}
1条答案
按热度按时间fwzugrvs1#
最后一个漫长的夜晚我唯一的问题,但不使用另一个文件,并在最后的功能,我把它放在
现在main.js的完整代码如下所示