У меня есть простая проблема, которая запутывает меня до чертиков. Я пытался найти другие подобные проблемы, но не смог найти именно эту проблему. Я пытаюсь вставить строку в пустую строку и получаю сообщение об ошибке, в котором говорится, что push - это не функция?
/Users/3x7r3m157/Development/Javascript/leaderboard.js:37
competitor.push(data[i])
^
TypeError: competitor.push is not a function Super confused.
Есть идеи? Вот мой код (я знаю, что есть другие ошибки, но в настоящее время работает через эту странную ошибку push):
const args = require('yargs').argv;
const fs = require('fs');
const util = require('util');
const leaderboard = require('./db.json')
const addCompetitor = (name) => {
leaderboard[name] = { points: [], times: [] }
console.log(leaderboard)
return leaderboard
}
console.log(leaderboard)
const addCompetitorTimes = (data) => {
let parser = 0;
var competitor = '';
let times = '';
let seconds = '';
let minutes = '';
let timeInSeconds = 0;
for (let i = 0 ; i < data.length ; i ++) {
if (parser == 0) {
//Stack Overflow peeps, weird error right here:
competitor.push(data[i])
}
if (parser == 0 && i == '_') {
parser ++
}
if (parser == 1) {
times.push(data[i])
}
}
parser = 0
for (let i = 0 ; i < times.length ; i ++) {
if (parser == 0) {
minutes.push(times[i])
}
if (parser == 0 && i == ':') {
parser ++
}
if (parser == 1) {
seconds.push(times[i])
}
}
seconds = parseInt(seconds);
minutes = parseInt(minutes);
timesInSeconds = seconds + (minutes * 60)
// leaderboard[name].times.push(timeInSeconds)
return timesInSeconds
}
addCompetitorTimes(args.competitorTimes)
fs.readFile('./db.json', (err, leaderboard) => {
if (err) throw err;
var db = JSON.parse(leaderboard);
// console.log(db)
});